Separar Nombres completos en vba excel

Estimados en este momento estoy haciendo teniendo problemas con lo siguiente, tengo un formulario que se llama nombres, dicho formulario que se llena de una tabla clientes, el problema es que en la tabla esta el campo nombres, mientras que en el formulario esta: Primer Apellido Segundo Apellido, Primer Nombre, Segundo Nombre.

La idea es que yo al darle siguiente registro o busque un registro descomponga el dato asi:

Dato de la tabla="Valencia Casas Jorge Leonardo"

Formulario

Primer Apellido: Valencia

Segundo Apellido: Casas

Primer Nombre: Jorge

Segundo Nombre: Leonardo

La verdad he podido separar el primer apellido y el segundo nombre sin embargo no se como hacer con los del medio.

1 respuesta

Respuesta
1

Para obtener cada dato es necesario ubicar los espacios.

La instrucción LEFT te devuelve el primer campo hasta el primer espacio:

dato = ActiveCell
'se busca el lugar del primer espacio
ubica = InStr(1, dato, " ")
TextBox1 = Left(dato, ubica - 1)

La instrucción MID te devuelve el texto que se encuentra entre el primer y segundo espacio. Lo mismo para el 3er campo:

'2do espacio
ubica2 = InStr(ubica + 1, dato, " ")
TextBox2 = Mid(dato, ubica + 1, ubica2 - ubica - 1)
'3er espacio
ubica3 = InStr(ubica2 + 1, dato, " ")
TextBox3 = Mid(dato, ubica2 + 1, ubica3 - ubica2 - 1)

Y el último campo seguramente ya lo tendrás, tomando desde la derecha hasta el primer espacio... o lo que es lo mismo extrayendo el texto que resta desde el 3er espacio hasta el final.

'4to espacio
TextBox4 = Right(dato, Len(dato) - ubica3)

Todo esto se puede resumir pero aquí va el paso a paso para que quede más claro.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas