Referente a: Separar cadena de texto en Filas según el número de caracteres
Disculpa si no es la mejor manera de hacer la consulta, pero es que ando un poco perdido y navegando por la red, he visto una consulta que te hicieron sobre una macro y se acerca mucho a lo que estoy buscando pero no consigo aclararme.
La consulta es sobre separar palabras completas de unos celdas determinados, pero lo que difiere de la consulta anterior es que a mi me gustaría que el resultado se mostrara en columnas. Por ejemplo:
"Tengo un texto que quiero separar" en hoja 1 Celda B2
"Tengo un texto" en hoja 2 Celda A2 "que quiero" en hoja 2 Celda B2 "separar" en hoja 2 C2 y así sucesivamente en filas posteriores.
La verdad que ando un poco pez con el lenguaje Visula Basic y no se modificar tu macro para ello.
En mi caso solo necesito 15 caracteres, eso y el cambio de columna lo tengo claro pero para las filas ya me pierdo.
Si me pudieras ayudar, me harías un gran favor.
Un saludo, y gracias por anticipado.
Esta es la que solucionó la duda anterior:
Sub separar()
'Por.DAM
Set h1 = Sheets("Hoja1")
Set h2 = Sheets("Hoja2")
'
h2.Columns("A").Clear
'
k = 75
j = 1
For i = 1 To h1.Range("A" & Rows.Count).End(xlUp).Row
If Len(h1.Cells(i, "A").Text) > k Then
nva = h1.Cells(i, "A")
Do While Len(nva) > k
n = InStrRev(nva, " ", k + 1)
If n > 0 Then
h2.Cells(j, "A") = RTrim(Left(nva, n))
nva = Mid(Mid(nva, 2), n)
Else
n = InStr(1, nva, " ")
If n = 0 Then n = Len(nva)
h2.Cells(j, "A") = RTrim(Left(nva, n))
nva = Mid(nva, n)
End If
j = j + 1
Loop
If Len(nva) > 0 Then
h2.Cells(j, "A") = nva
j = j + 1
End If
Else
h2.Cells(j, "A") = h1.Cells(i, "A")
j = j + 1
End If
Next
h2.Select
MsgBox "Separación terminada", vbInformation
End Sub
