Ayuda con esta macro urgente.

Hola que tal... A continuación les muestro una programación que tengo...
Dim nombre As String
Dim largo As Integer
Dim x As Integer
Dim y As String
Dim letra_sig As String
Dim INICIALES As String
nombre = ActiveCell.Value
largo = Len(nombre)
INICIALES = Left(nombre, 1)
For x = 1 To largo
y = Mid(nombre, x, 1)
If y = " " Then
inicial_sig = Mid(nombre, x + 1, 1)
INICIALES = INICIALES & inicial_sig
End If
Next
ActiveCell.Offset(0, 1).Value = INICIALES
End Sub
Es tal cual la tengo, la ocupo primero en la columna "e" y después en la columna "g" lo que hace es que en la siguiente columna me da las iniciales de la palabra que exista en alguna de estas dos celdas mencionadas y ahora lo que no hace es hacerlo en toda la comuna sino más bien en la celda en la que seleccione, pero como les comentaba quiero que lo haga automáticamente celda por celda en todas la columnas mencionadas... Ahora tengo el siguiente bucle pero no se como ocuparlo o en que parte de mi macro lo tengo que colocar:
Do While Cells (x , 1). Value <> ""
Loop
Bu3no en realidad ni siquiera se si así debe de ir el bucle solo vi como se ocupaba en excel, soy principiante en esto de las macros... Ayuda please urgeeeeeeeeee

1 respuesta

Respuesta
1
Dim nombre As String
Dim largo As Integer
Dim x As Integer
Dim y As String
Dim letra_sig As String
Dim INICIALES As String
'Suponiendo que los datos comienzan en la fila 2
For c = 2 To Cells(Rows.Count, "e").End(xlUp).Row
nombre = Cells(c, "e").Value
largo = Len(nombre)
INICIALES = Left(nombre, 1)
For x = 1 To largo
y = Mid(nombre, x, 1)
If y = " " Then
inicial_sig = Mid(nombre, x + 1, 1)
INICIALES = INICIALES & inicial_sig
End If
Next
Cells(c, "e").Offset(0, 1).Value = INICIALES
Next
Puse en Negritas lo único que cambié o agregué.
Ya solo Acomodalo para la otra columna

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas