Urgente un experto me ayude con macros de excel

Hola!
Soy una persona que intenta realizar una macro que me haga lo siguiente
magaña servin dante leonardo moisés (esto se encuentra en una sola celda)
y que me devuelva el siguiente valor
dante, leonardo, moisés, magaña/servin
esta siempre debe ser la sintaxis que me devuelva
mi celda principal esta por apellido paterno apellido materno primer nombre segundo nombre y tercer nombre en este caso hay personas que tienen más o menos nombres así como solo un apellido tendría que validar eso también
y quiero que me lo devuelva así
primer nombre, segundo nombre, tercer nombre, apellido paterno/apellido materno
debe incluir las comas y diagonales que pongo así en ese orden después de cada nombre una coma sin espacio y después de cada apellido una diagonal solo después del ultimo nada
si algún experto me pudiera ayudar se los agradecería enormemente ya que esto es para hacer funcionar un archivo de nomina del maldito banco que no pienza en usuarios generales que no sabemos programar
les comento que este archivo contiene muchas filas de nombres y cada uno necesita esa conversión
muchas gracias por su ayuda

1 Respuesta

Respuesta
1
Prueba con esto, solo revisa los comentarios más abajo descritos.
Espero te ayude.
Sub Respuesta()
Dim Dato As String
Dim Largo As Integer, i As Integer, j As Integer, x As Integer, y As Integer
Dim Nom1 As String, Nom2 As String, Nom3 As String, Ape1 As String, Ape2 As String
Dim a As String, b As String, c As String, d As String, e As String
Range("A2").Select
Do Until IsEmpty(ActiveCell)
Dato = ActiveCell.Value & " "
Largo = Len(Dato)
j = 1
x = 0
y = 0
For i = 1 To Largo
If Mid(Dato, i, 1) = " " Then
Select Case y
Case 0
a = Mid(Dato, j, i - j)
Case 1
b = Mid(Dato, j, i - j)
Case 2
c = Mid(Dato, j, i - j)
Case 3
d = Mid(Dato, j, i - j)
Case 4
e = Mid(Dato, j, i - j)
End Select
j = i + 1
x = x + 1
y = y + 1
End If
Next
Select Case y
Case 2 'si es este caso se asume que es 1 nombre y 1 apellido
ActiveCell = b & "," & a
Case 3 'en este caso puede ser que sea
'2 nombres y 1 apellido o
'1 nombre y 2 apellidos
ActiveCell = c & "," & a & "/" & b
Case 4 'en este caso puede ser que sea
'3 nombres y 1 apellido o
'2 nombres y 2 apellidos o
'3 nombres y 1 apellido
ActiveCell = c & "," & d & "," & a & "/" & b
Case 5
ActiveCell = c & "," & d & "," & e & "," & a & "/" & b
End Select
ActiveCell.Offset(1, 0).Select
Loop
End Sub
Te sirvió lo que te envié o realmente no era tan urgente.
De cualquier forma por favor puedes cerrar la pregunta.
Hola!
Perdón por no contestar pero mi servidor de internet no funcionaba y no pude checarlo pero si si me sirvió muchas gracias
me gustaría contactar con personas amigables como tu
si te interesa agrégame aunque sea para mandarte mails de novedades yo soy certificado cisco y experto en redes
[email protected]
OK, de nada. Ya estas Agregado a mi MSN el mio es [email protected], sólo falta que des por cerrada la pregunta y me evalúes.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas