Bueno te doy un par de pistas de como podés hacerlo
Para poder utilizar un array en forma dinámica, (no podés usar un array fijo por que no conocés la cantidad de líneas a llenar en el array) , a la matriz la tenés que declarar asi:
Dim LaMatriz () As TipoDeDato
... en este caso sería de tipo String
Dim LaMatriz () As String
Para indicar en tiempo de ejecución cual va a ser la dimensión de la misma ( será la cantidad de lineas del textbox) ... lo tenés que ahcer con la instrucción Redim
por ejemplo
Redim LaMatriz (n elementos )
Si la matriz contiene datos antes de resdimensionarla, (para no perder los datos), como en el caso anterior, se agrega a la instrucción Redim la palabra Preserve
redim Preserve LaMatrix(nElementos)
... esto depende de lo que quieras hacer, si te importa o no perder los datos o mantenerlos
Ahora , para poder obtener todas las lineas del textbox, podés usar una función llamada Split. Esta función te devuelve un array con los elementos de una variable ( en este caso la variable es el textbox con las lineas) , y te separa las mismas mediante el delimitador que le indiques. En este caso el delimitador es el caracter de salto de carro ( vbCrlf o VbNewLine)
por ejemplo, en este array se llena con todas las lineas de un text1 ( obviamente el TBox con la propiedad MultiLine )
'Array dinámico
Dim Lineas() As String
' Llena el array
Lineas = Split(text1.Text, vbNewLine)
Ahora para poder recorrer los elementos dentro del vector, lo podés ahcer en un for next desde el primer elemento hasta el último. usando LBound y Ubound
ej:
Dim Lineas() As String
Lineas = Split(Text1.Text, vbNewLine)
Dim i As Integer
'Recorre
For i = LBound(Lineas) To UBound(Lineas)
' Muestra el valor
MsgBox Lineas(i)
Next
saludos