



Podemos crear una función para extraer la primera letra de cada palabra (como por ejemplo las iniciales de un nombre).
Disponemos de una hoja con el origen de datos:, donde:
- Celda A2. Nombre y Apellidos de donde extraer las iniciales.
A | B | C | |
---|---|---|---|
1 | Nombre | Iniciales | |
2 | Luis Miguel García Ramos | ||
3 |
Deseamos extraer la primera letra de cada palabra en Excel de la celda A2.
Con Excel abierto.
Pulsar la tecla Alt y mantener pulsada
Pulsar la tecla F11. Mostrará el editor de Visual Basic.
Ir a: Barra de Menú
Insertar
Módulo. Mostrará la ventana del módulo donde escribimos la macro.
Escribir el código de la macro:
Function Inicial(texto As String) As String
Dim referencia As Variant
Dim i As Long
referencia = Split(texto)
For i = LBound(referencia) To UBound(referencia)
Inicial = Inicial & Left(referencia(i), 1)
Next i
End Function
- Split(texto) La función Split devuelve una matriz unidimensional basada en cero que contiene un número especificado de subcadenas.
- LBound(referencia). Devuelve el valor del índice menor del array (referencia).
- UBound(referencia). Devuelve el valor del índice mayor del array (referencia).
Guardar el libro con la extensión *.xlsm. Libro habilitado para macros.
Ir a: Celda A2
Escribir: Luis Miguel García Ramos O el texto deseado para extraer las iniciales.
Ir a: Celda B2
Escribir:
=Inicial(A2)O tambíén, Ir a: Barra de fórmulas
Clic sobre
(fx, Insertar función)
Ir a: O seleccionar una categoría
Seleccionar: Definida por el usuario
Doble clic sobre: Num_CaracteresEspacios. Mostrará los argumentos de la función.
- Ir a: Celda
Clic sobre A2. Celda que deseamos extraer las iniciales.

- Consultar:
Hola buen día
Soy un novato en esto de las Macros y estoy tratando de aprender, al tratar de utilizar su aplicacion no funciono.
Eso si, me parecio muy buena su aplicación, sin embargo la trete de emplear y la misma no funciono despues de checar un poco creo que esta incompleta le falta declarar la variable de respuesta.
Que tengan un magnifico día y gracias por el aporte, gracias a esto se aprende bastante.
Hola Hugo Javier,
El código de la función es correcto y funciona bien. Respecto a lo que comentas de la falta de declaración de la variable de respuesta está declarada, al ser una función, en la sexta línea.
Revisa tu código que esté escrito igual.
Saludos.