¿Cómo dividir una cada de caracteres de texto?

Muy buenas
Tengo la siguiente macro para dividir una cadena de texto de una celda:
Sub DIVIDIR()
Dim cifra As String
'Variable que va a recibir la cifra en letras
Dim x As Integer
Dim largo As Integer
Dim i As Integer
i = 2 'La fila en la
que se inicia el recorrido de la columnna
While Not Range("a" & i).Value = ""
cifra = Range("a" &
i).Value 'Esta expresión la usé para ingresar una cifra en letras
largo = Len(cifra)
If largo > 55 Then 'Si el largo de
la frase es mayor a 55 la divide en dos
If Mid(cifra, 56, 1) = "
" Then 'Si el carácter Nº56 es un espacio, deja los
'primeros 55 en una celda y los siguientes a
'contar del 57 en otra celda
Range("B" & i) =
Left(cifra, 55)
Range("C" & i) =
Mid(cifra, 57)
For x = 55 To 1
Step -1
If Mid(cifra, x, 1) =
" " Then  'Si el carácter 56 no
es un espacio,
'busca
el primer espacio a contar del
'55 hacia la izquierda. Cuando lo en-
'cuentra, por ejemplo en el 50, toma
'los primeros 49 y los deja en la pri-
'mera celda y a contar del 51 en la
'segunda celda
Range("B"
& i) = Left(cifra, x - 1) 'Celda que debes cambiar por la correcta
Range("C"
& i) = Mid(cifra, x + 1) 'Celda que debes cambiar por la correcta
End If
Next
End If
End If
i = i + 1
Wend
End Sub
El problema es que no devuelve en la primera columna sólo la primera palabra y en la siguiente columna el resto ¿alguien me podría decir en qué falla?
Gracias por adelantado

Añade tu respuesta

Haz clic para o