Separa campos

07/04/2006 - 15:32 por mariano | Informe spam
Hola grupo,

tengo en una columna nombres de clientes con el formato: "Apellido1
Apellido2 Nombre". ¿Puedo hacer de esta columna tres columnas
independientes, es decir, una con 'Apellido1', otra con 'Apellido2' y otra
con 'Nombre'?

Gracias anticipadas.
Saludos a todos/as.

Preguntas similare

Leer las respuestas

#1 julian-vlc-sp
07/04/2006 - 16:09 | Informe spam
¡Importante!: Colabora con el grupo.Contesta a este mensaje
y dinos si te sirvió o no la respuesta dada. Muchas gracias.

Prueba marcando la columna y seleccionando

Datos --> Texto en columnas


SALUDOS.
Julián-Valencia-España

"mariano" escribió en el mensaje
news:%
Hola grupo,

tengo en una columna nombres de clientes con el formato: "Apellido1
Apellido2 Nombre". ¿Puedo hacer de esta columna tres columnas
independientes, es decir, una con 'Apellido1', otra con 'Apellido2' y otra
con 'Nombre'?

Gracias anticipadas.
Saludos a todos/as.

Respuesta Responder a este mensaje
#2 tmaganiaNOESPAM
07/04/2006 - 16:46 | Informe spam
mariano wrote:

Hola grupo,

tengo en una columna nombres de clientes con el formato: "Apellido1
Apellido2 Nombre". ¿Puedo hacer de esta columna tres columnas
independientes, es decir, una con 'Apellido1', otra con 'Apellido2' y otra
con 'Nombre'?

Gracias anticipadas.
Saludos a todos/as.



Crea un rango con nombre "Datos" sin comillas que contenga todas las
celdas con los nombres de los clientes.

Inserta un módulo y pega el código siguiente

Public Sub separa()

Dim item As String
Dim longi As Integer
Dim longTot As Integer
Dim carac As String
Dim nombre, Apell1, Apell2 As String
Dim cadena As String
Dim cadenaTot As String
Dim celda As Range

For Each celda In Range("Datos")
celda.Activate
item = celda.Text
cadenaTot = item
longTot = Len(item)
longi = longTot
cadena = cadenaTot

carac = Left(cadena, 1)

Do While carac <> " "
longi = Len(cadena)
cadena = Right(cadena, longi - 1)
carac = Left(cadena, 1)
Loop

nombre = Left(cadenaTot, longTot - (longi - 1))

cadenaTot = Right(cadena, longi - 2)
cadena = cadenaTot
longTot = Len(cadenaTot)
carac = Left(cadena, 1)

Do While carac <> " "
longi = Len(cadena)
cadena = Right(cadena, longi - 1)
carac = Left(cadena, 1)
Loop

Apell1 = Left(cadenaTot, longTot - longi + 1)

longi = Len(Apell1)

Apell2 = Right(cadenaTot, longTot - longi - 1)

ActiveCell.Offset(0, 1).Value = nombre
ActiveCell.Offset(0, 2).Value = Apell1
ActiveCell.Offset(0, 3).Value = Apell2
Next
End Sub


y luego ejecuta la macro con Alt + F8
Respuesta Responder a este mensaje
#3 mariano
07/04/2006 - 18:59 | Informe spam
muy bueno, muy bueno,

muchísimas gracias..
"Peluchon" escribió en el mensaje
news:
mariano wrote:

Hola grupo,



tengo en una columna nombres de clientes con el formato: "Apellido1
Apellido2 Nombre". ¿Puedo hacer de esta columna tres columnas
independientes, es decir, una con 'Apellido1', otra con 'Apellido2' y
otra
con 'Nombre'?



Gracias anticipadas.
Saludos a todos/as.



Crea un rango con nombre "Datos" sin comillas que contenga todas las
celdas con los nombres de los clientes.

Inserta un módulo y pega el código siguiente

Public Sub separa()

Dim item As String
Dim longi As Integer
Dim longTot As Integer
Dim carac As String
Dim nombre, Apell1, Apell2 As String
Dim cadena As String
Dim cadenaTot As String
Dim celda As Range

For Each celda In Range("Datos")
celda.Activate
item = celda.Text
cadenaTot = item
longTot = Len(item)
longi = longTot
cadena = cadenaTot

carac = Left(cadena, 1)

Do While carac <> " "
longi = Len(cadena)
cadena = Right(cadena, longi - 1)
carac = Left(cadena, 1)
Loop

nombre = Left(cadenaTot, longTot - (longi - 1))

cadenaTot = Right(cadena, longi - 2)
cadena = cadenaTot
longTot = Len(cadenaTot)
carac = Left(cadena, 1)

Do While carac <> " "
longi = Len(cadena)
cadena = Right(cadena, longi - 1)
carac = Left(cadena, 1)
Loop

Apell1 = Left(cadenaTot, longTot - longi + 1)

longi = Len(Apell1)

Apell2 = Right(cadenaTot, longTot - longi - 1)

ActiveCell.Offset(0, 1).Value = nombre
ActiveCell.Offset(0, 2).Value = Apell1
ActiveCell.Offset(0, 3).Value = Apell2
Next
End Sub


y luego ejecuta la macro con Alt + F8



Respuesta Responder a este mensaje
#4 Francisco M
10/04/2006 - 17:37 | Informe spam
excelente tu aporte... nunca había utilizado ese comando en el excel, cuando
lo necesitaba hacer me había dado un montón de vueltas, con funciones
anidadas...

Saludos,
Francisco.

"julian-vlc-sp" escribió en el mensaje
news:%
> ¡Importante!: Colabora con el grupo.Contesta a este mensaje
y dinos si te sirvió o no la respuesta dada. Muchas gracias.
>
Prueba marcando la columna y seleccionando

Datos --> Texto en columnas


SALUDOS.
Julián-Valencia-España

"mariano" escribió en el mensaje
news:%
Hola grupo,

tengo en una columna nombres de clientes con el formato: "Apellido1
Apellido2 Nombre". ¿Puedo hacer de esta columna tres columnas
independientes, es decir, una con 'Apellido1', otra con 'Apellido2' y
otra con 'Nombre'?

Gracias anticipadas.
Saludos a todos/as.





Respuesta Responder a este mensaje
#5 Nelsonb
14/04/2006 - 21:26 | Informe spam
Hola, te cuento que yo lo hacia asi como te explican, pero si los nombres
o apellidos no son iguales de largos se te desordenan

intenta con esto
ejemplo

Valor en celda B2 nombres y apellidos
LONDOÑO MEJIA SERGIO


Valor en celda D2 largo
=LARGO(B2)

Valor en celda E2 encuentra el primer espacio
=SI(ESERROR(ENCONTRAR(" ",$B2,$D2-$D2+1))=VERDADERO,0,ENCONTRAR("
",$B2,$D2-$D2+1))

Valor en celda F2 encuentra el segundo espacio
=SI($E2=0,0,SI(ESERROR(ENCONTRAR(" ",$B2,$E2+1))=VERDADERO,0,ENCONTRAR("
",$B2,$E2+1)))

Valor en celda P2 cuenta
=CONTAR.SI($D2:$N2,">0")

Valor en celda Q2 extrae el primer apellido
=SI($P2>=1,SI(E2=0,EXTRAE($B2,1,$D2-$E2),EXTRAE($B2,1,$E2-1)),"")

Valor en celda R2 extrae el segundo apellido
=SI($P2>=2,SI(F2=0,EXTRAE($B2,E2+1,$D2-$F2),EXTRAE($B2,E2+1,F2-E2-1)),"")

Valor en celda S2 extrae el nombre
=SI($P2>=3,SI(G2=0,EXTRAE($B2,F2+1,$D2-$G2),EXTRAE($B2,F2+1,G2-F2-1)),"")

Saludos

nelson



"Francisco M" escribió en el mensaje
news:%
excelente tu aporte... nunca había utilizado ese comando en el excel,
cuando lo necesitaba hacer me había dado un montón de vueltas, con
funciones anidadas...

Saludos,
Francisco.

"julian-vlc-sp" escribió en el mensaje
news:%
>> ¡Importante!: Colabora con el grupo.Contesta a este mensaje
y dinos si te sirvió o no la respuesta dada. Muchas gracias.
>>
Prueba marcando la columna y seleccionando

Datos --> Texto en columnas


SALUDOS.
Julián-Valencia-España

"mariano" escribió en el mensaje
news:%
Hola grupo,

tengo en una columna nombres de clientes con el formato: "Apellido1
Apellido2 Nombre". ¿Puedo hacer de esta columna tres columnas
independientes, es decir, una con 'Apellido1', otra con 'Apellido2' y
otra con 'Nombre'?

Gracias anticipadas.
Saludos a todos/as.









Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida