Un archivo de macro de Excel guarda una secuencia de acciones para repetirla automáticamente, por ejemplo, marcar en rojo y negrita las cuentas vencidas de un informe mensual. Al terminar, sabrás grabar una macro, revisar su código, guardarla en un libro .xlsm, asignarle un atajo y habilitar un archivo descargado. Las macros VBA funcionan en Excel 2021, Excel 2024 y Microsoft 365; también están disponibles en Excel para Mac, pero no en Excel para la web. Los datos y procedimientos están comprobados en octubre de 2026.
Qué es un archivo de macro y para qué sirve
Un archivo de macro es un libro de Excel que puede conservar código VBA. La macro registra acciones como clics, pulsaciones de teclado, cambios de formato o actualizaciones de celdas; después puedes ejecutarla con un clic o con una combinación de teclas.
En este tutorial usaremos un libro llamado Informe clientes. La hoja Clientes tendrá una columna Estado con el valor Vencida. La macro MarcarVencidas detectará esas filas y aplicará letra roja y negrita. Al modificar el estado de una cuenta y volver a ejecutar la macro, el informe se actualizará sin repetir manualmente cada formato.
La grabación captura tus acciones, pero el código generado también puede revisarse y editarse. Esto permite entender qué hace la macro y corregir su comportamiento.
Qué formatos tienen los archivos con macros
El formato del archivo determina si Excel conserva el código VBA.
| Formato | ¿Conserva macros VBA? | Uso habitual |
|---|---|---|
.xlsx |
No | Libro normal con datos, fórmulas y formatos |
.xlsm |
Sí | Libro de Excel habilitado para macros |
.xlsb |
Sí | Libro binario, pensado para archivos grandes |
.xls |
Sí | Formato de Excel 97-2003, con un máximo de 65.536 filas |
Cuando guardas un libro que contiene macros, debes conservar el formato .xlsm. Un archivo .xlsx no guarda macros; si haces ese cambio, Excel puede mostrar una advertencia y quitar el código VBA.
.xlsx no es una forma reversible de conservar el proyecto VBA. Si accidentalmente lo haces, revierte el guardado con Ctrl+Z o recupera una copia anterior del libro.El formato .xlsm no convierte el código en algo seguro por sí solo. Sigue siendo necesario revisar el origen y habilitar las macros de forma explícita. Consulta los formatos de archivo compatibles con Excel.
Dónde están las herramientas para grabar macros
La pestaña Programador concentra el grabador, las macros y el acceso al editor de Visual Basic. Como viene oculta, actívala así:
- Selecciona Archivo > Opciones.
- En Personalizar cinta de opciones, abre Personalizar la pestaña Programador.
- Marca Programador y pulsa Aceptar.
La ruta para mostrar la pestaña es:
Después, dentro de la pestaña Programador, usa:
Vista > Macros como acceso rápido
Si no quieres modificar la cinta, utiliza Vista > Macros. Desde ahí puedes abrir el cuadro de macros, iniciar una grabación, ejecutar una macro existente o editarla.
Windows: Alt+F8 abre la lista de macros. En Mac, usa el equivalente que muestre el sistema.
Graba tu primera macro en un informe
Crea un libro con una hoja llamada Clientes y estos datos:
| A | B | C | |
|---|---|---|---|
| 1 | Cliente | Importe | Estado |
| 2 | Norte | 1.250,00 | Vencida |
| 3 | Altus | 980,50 | Al dia |
| 4 | Sur | 2.100,75 | Vencida |
| 5 | Delta | 450,00 | Al dia |
- Selecciona A2:C5.
- Abre Vista > Macros > Grabar macro.
- En el cuadro Grabar macro, escribe
MarcarVencidas. - Pulsa Aceptar.
- En la barra de estado, comprueba que aparece Grabación.
- Selecciona A2:C5 y usa Inicio > Fuente > Color de fuente > Rojo y Inicio > Fuente > Negrita.
- Pulsa Vista > Macros > Detener grabación.
El formato se aplica al rango completo durante la grabación. Para una primera práctica sirve para comprobar el funcionamiento; después crearás una macro más precisa.
Asigna un nombre y una tecla a la macro
En el cuadro Grabar macro, el nombre debe comenzar por una letra y no puede contener espacios. MarcarVencidas cumple ambas condiciones.
En Método abreviado, selecciona Ctrl+Mayús+M. La descripción debe explicar la acción sin incluir información confidencial; por ejemplo: Pone en rojo y negrita las celdas de clientes con cuenta vencida.
La asignación de Ctrl+Mayús+M funciona mediante la grabadora. Ten en cuenta que una macro con Ctrl+letra puede reemplazar el atajo de Excel correspondiente mientras el libro esté abierto.
MarcarVencidas si el archivo se conservó como .xlsm.Ejecuta la macro sin volver a grabarla
- Restablece el formato de A2:C5 con Inicio > Fuente > Color de fuente > Automático y quita la negrita.
- Cambia el estado de la fila 3 a
Vencida. - Pulsa Ctrl+Mayús+M.
- Observa el resultado.
| A | B | C | |
|---|---|---|---|
| 1 | Cliente | Importe | Estado |
| 2 | Norte | 1.250,00 | Vencida |
| 3 | Altus | 980,50 | Vencida |
| 4 | Sur | 2.100,75 | Vencida |
| 5 | Delta | 450,00 | Al dia |
Edita el código VBA de la macro
Para abrir el editor de Visual Basic, pulsa Alt+F11. En el explorador del proyecto, selecciona el libro Informe clientes, abre Insertar > Módulo y escribe:
Sub Saludo()
Range("A1").Value = "Hola"
MsgBox "Listo"
End Sub
Para probarlo, coloca el cursor dentro de Saludo y pulsa F5.
Listo
El código anterior escribe Hola en A1 de la hoja activa. Si quieres que el mensaje aparezca al abrir el informe, sustituye Range("A1").Value por Range("Clientes!A1").Value; así no depende de qué hoja esté activa.
Hola y aparece un cuadro con el texto Listo.Entiende cada línea del primer macro
Sub Saludo()
Range("A1").Value = "Hola"
MsgBox "Listo"
End Sub
| Línea | Función |
|---|---|
Sub Saludo() |
Inicia el procedimiento y le da el nombre Saludo |
Range("A1").Value |
Selecciona la celda A1 y permite leer o escribir su contenido |
= "Hola" |
Asigna el texto Hola a la celda |
MsgBox "Listo" |
Muestra un cuadro con el mensaje Listo |
End Sub |
Termina el procedimiento |
La grabadora crea código automáticamente. Por eso conviene leerlo después: una secuencia grabada puede incluir operaciones que no necesitas o aplicar el formato a más celdas de las previstas.
Consulta la documentación oficial sobre VBA en Office.
Guarda el libro como archivo de macro
- Selecciona Archivo > Guardar como.
- Elige la carpeta donde quieres conservar el informe.
- En Tipo, selecciona *Libro de Excel habilitado para macros (.xlsm)**.
- Escribe
Informe clientes con macrosen Nombre de archivo. - Pulsa Guardar.
- Cierra el libro y vuelve a abrirlo.
| A | B | C | |
|---|---|---|---|
| 1 | Cliente | Importe | Estado |
| 2 | Norte | 1.250,00 | Vencida |
| 3 | Altus | 980,50 | Vencida |
| 4 | Sur | 2.100,75 | Vencida |
| 5 | Delta | 450,00 | Al dia |
Al reabrirlo, abre Vista > Macros, selecciona MarcarVencidas y comprueba que sigue en la lista.
.xlsm y MarcarVencidas continúa disponible.Conserva el código al cambiar de extensión
Si guardas un libro .xlsm como .xlsx, Excel no conservará el proyecto VBA. Puede aparecer un aviso indicando que las macros se eliminarán al guardar. Si aceptas, el código no está protegido por una segunda copia dentro del mismo archivo.
Cuando quieras conservar macros, vuelve a usar Archivo > Guardar como, selecciona .xlsm y sustituye el archivo anterior. Si aún no has cerrado el libro, Ctrl+Z puede deshacer el guardado, pero la solución segura es mantener una copia del .xlsm.
Ejecuta una macro guardada en otro libro
- Abre
Informe clientes con macros.xlsmmediante Archivo > Abrir. - Si aparece la barra de seguridad, revisa el archivo y habilita las macros solo si confías en su origen.
- Selecciona Vista > Macros.
- Elige
MarcarVencidas. - Pulsa Ejecutar.
| A | B | C | |
|---|---|---|---|
| 1 | Cliente | Importe | Estado |
| 2 | Norte | 1.250,00 | Vencida |
| 3 | Altus | 980,50 | Al dia |
| 4 | Sur | 2.100,75 | Vencida |
| 5 | Delta | 450,00 | Al dia |
La macro debe estar habilitada y el libro debe permanecer en una ubicación accesible. Si mueves el archivo, Excel normalmente conserva el código VBA dentro de él; lo que debe seguir accesible es cualquier archivo externo del que dependa la macro.
Vencida reciben el formato definido.Asigna un método abreviado a una macro
- Abre Vista > Macros.
- Selecciona
MarcarVencidas. - Pulsa Opciones.
- En Método abreviado, elige la combinación disponible.
- Pulsa Aceptar.
En Excel para Windows, este cuadro permite recuperar o cambiar la combinación asociada a una macro. Excel no ofrece un panel general para reasignar todos sus atajos; la grabadora o una macro términos más ada son el camino para crear uno propio.
Por qué Excel bloquea las macros descargadas
Excel bloquea por defecto las macros de muchos archivos descargados desde internet. Al abrirlos, puede aparecer una barra de seguridad como «Se ha bloqueado el origen de este archivo de confianza» o una advertencia de que el contenido está deshabilitado.
Esto reduce el riesgo de ejecutar código malicioso. El archivo puede seguir abriéndose, pero sus macros permanecen bloqueadas hasta que una persona decide habilitarlas de forma explícita.
La política se aplica al contenido con la marca de procedencia de internet. Los archivos creados localmente o abiertos desde ubicaciones de confianza pueden comportarse de otra manera.
Revisa las propiedades del archivo bloqueado
- Cierra Excel.
- Abre el Explorador de archivos.
- Busca el archivo
.xlsm. - Haz clic derecho y selecciona Propiedades.
- En la pestaña General, busca la sección Seguridad o el aviso Desbloquear.
- Activa Desbloquear y pulsa Aplicar.
- Vuelve a abrir el archivo en Excel.
- Revisa la barra de seguridad y habilita las macros si el archivo es de confianza.
Comprueba si el archivo tiene una firma válida
Una macro firmada incorpora una firma digital que permite identificar al responsable del código y detectar modificaciones posteriores. Una macro sin firma no demuestra por sí sola que sea maliciosa, pero tampoco permite identificar a su autor de forma verificable.
Para comprobar la firma, abre el archivo de confianza, entra en Vista > Macros, selecciona la macro, pulsa Opciones y revisa el editor. La información de firma aparece en el cuadro de seguridad de Excel. Si el editor muestra El proyecto está sin firmar, no existe una firma que vincule el código a un editor identificado.
La firma ayuda a verificar el origen, pero no sustituye revisar quién envía el archivo ni si realmente necesita ejecutar la macro.
En qué versiones funciona una macro de Excel
| Entorno | Macros VBA | Observación |
|---|---|---|
| Excel 2021 | Sí | Guarda en .xlsm |
| Excel 2024 | Sí | Guarda en .xlsm |
| Microsoft 365 | Sí | Se actualiza con el servicio |
| Excel para Mac | Sí | El editor y las rutas presentanSome diferencias |
| Excel para la web | No | Excel para la web no ejecuta macros VBA |
| Excel para móviles | No en Excel para la web | Las funciones disponibles son más limitadas |
El soporte de VBA aparece en Excel para Microsoft 365, Excel 2024 y Excel 2021, tanto en Windows como en las versiones equivalentes de Mac. En la web se utiliza Scripts de Office para automatizar tareas, no VBA.
Consulta la ayuda oficial sobre creación y eliminación de macros para las diferencias de la interfaz.
Lo que ya sabes hacer con archivos de macro
- Grabar una acción repetible desde Vista > Macros o la pestaña Programador.
- Asignar un nombre, una descripción y una tecla a la macro.
- Editar el código VBA con Alt+F11 y un módulo nuevo.
- Guardar el informe como un libro
.xlsmsin perder el proyecto VBA. - Ejecutar una macro guardada, comprobar sus resultados y recuperar su atajo.
- Desbloquear un archivo descargado solo después de revisar su procedencia.
El siguiente paso es organizar una biblioteca de macros propias en una carpeta segura y documentar el propósito de cada módulo antes de compartirlo.
Fuentes
- MicrosoftInicio rápido: Crear una macro – Microsoft Supportconsultado el 27/10/2026
- MicrosoftFormatos de archivo de Excel — documentación oficialconsultado el 27/10/2026
- MicrosoftEl editor de VBA y la primera macro — documentación oficialconsultado el 27/10/2026
- MicrosoftMAKEARRAY — documentación oficialconsultado el 27/10/2026
- MicrosoftPower Query (Obtener y transformar datos) — documentación oficialconsultado el 27/10/2026