La Web del Programador: Comunidad de Programadores
 
    Pregunta:  52077 - EXTRAER UNA CADENA DE TEXTO HASTA QUE ENCONTREMOS UN ESPACI
Autor:  carmen
no se como separar en una celda de Excel en la que aparece nombre, primer apellido, segundo apellido en tres celdas separadas.

Ejemplo
Montes Hernandez, Carlos se encuentra en una misma celda A1
pretendo que quede Montes sea celda A2, Herandez sea celda A3 y que Carlos sea Celda A4.

  Respuesta:  eider mauricio aristizabal erazo
Hola, supongase que tiene solo en la columna A los nombres, al ejecutar esta macro se adjuntan los resultados en las columnaas siguientes y separadas por el espacio vacio, espero haber entendido tu pregunta.

[ A ][ B ][ C ][ D ]
[Juan Rio Pote][ Juan ][ Rio ][ Pote ]

\'Recuerda seleccionar solo las celdas de la columna A para ejecutar la macro
Sub PartirNombre()
Dim celda As Range
Dim rango As Range
Dim nombre As String
Dim ape1 As String
Dim ape2 As String

Set rango = Selection

For Each celda In rango
nombre = Split(celda.Text, \" \", , vbTextCompare)(0)
ape1 = Split(celda.Text, \" \", , vbTextCompare)(1)
ape2 = Split(celda.Text, \" \", , vbTextCompare)(2)
celda.Offset(0, 1) = nombre
celda.Offset(0, 2) = ape1
celda.Offset(0, 3) = ape2
Next celda
End Sub

Suerte :)