Para ahorrarte el lío lo que puedes hacer es usar Split y un módulo que haga de timer.
El siguiente código actúa de timer, pero sin tener que cargar el control (en un módulo):
Sub Pause(interval)
Current = Timer
Do While Timer - Current < Val(interval)
DoEvents
Loop
End Sub
Su uso es
Pause(intervalo) Y aquí te dejo un ejemplo que he hecho sobre la marcha:
Dim tArray() As String 'Declaro un array
Text1.Text = "Hola" & vbCrLf & "tio" & vbCrLf & "calla" 'Text1.text multilinea
tArray = Split(Text1.Text, vbCrLf) 'Almaceno en el array lo que hay en cada salto de linea
Do 'Empiezo el bucle
For i = LBound(tArray) To UBound(tArray) 'Esas funciones recorren el array sin saber donde empieza ni donde acaba
Text2.Text = Text2.Text & tArray(i) 'Opcional, aniade la palabra a otra caja de texto
Pause (1) 'Espero un segundo
Next i
Loop 'El bucle empieza de nuevo