Sub SeparaApellidoNombre()
Dim i As Integer, Texto As String, PosicionEspacio As Integer, PosicionInicio As Integer
' Determina el número de filas
NumFilas = Application.CountA(Columns(1))
' Bucle para cada fila de la tabla
' a partir de la fila 2
    For i = 2 To NumFilas
        Texto = Range("A" & i).Value
        PosicionInicio = 1
        PosicionEspacio = InStr(PosicionInicio, Texto, " ")
        PosicionInicio = x + 1
' escritura del nombre en la columna B
        Range("B" & i).Value = WorksheetFunction.Proper(Left(Texto, PosicionEspacio - 1))
' escritura del apellido en la columna C
        Range("C" & i).Value = UCase(Right(Texto, Len(Texto) - PosicionEspacio))
    Next i
End Sub