Las macros de Excel son pequeños programas que viven dentro del libro y que repiten por ti las tareas que haces a mano: dar formato, copiar datos, generar informes, exportar a PDF. Cada vez que grabas una macro, Excel traduce tus clics a instrucciones en lenguaje VBA (Visual Basic para Aplicaciones) y las guarda para que las puedas lanzar con un atajo, con un botón o desde una lista.
En este tutorial vas a crear tu primera macro sobre una hoja de ventas realista, sin escribir una línea de código: grabarás el formato, la guardarás en el libro, le pondrás un botón en la hoja y aprenderás a desbloquear los archivos que Excel bloquea por seguridad. Funciona en Microsoft 365, Excel 2024 y Excel 2021, y también en 2019 y 2016 (con la pestaña Programador activada). Excel para la web no ejecuta macros VBA, sino Scripts de Office.
Qué es una macro y cuándo te ahorra trabajo
Imagina una hoja de ventas de la tienda: productos en la columna A, importes en la B y fechas en la C. Cada lunes recibes el archivo nuevo, le pones los importes en formato moneda, los títulos en negrita, ajustas el ancho de las columnas al contenido y exportas a PDF. Es siempre el mismo ritual, entre cinco y diez clics en el mismo orden.
Una macro es exactamente eso: una secuencia de clics y pulsaciones grabada una vez y repetida por Excel cuando tú quieras. Mientras tú haces el trabajo a mano una vez, Excel lo convierte en un programa en VBA guardado dentro del propio libro. La próxima semana, con un doble clic en un botón o con un atajo de teclado, la hoja aparece ya formateada.
El truco está en distinguir cuándo merece la pena. Si el formato se hace una vez al año, hazlo a mano. Si se repite cada semana o cada día, o si la hoja la tocan varias personas, la macro te ahorra minutos y, sobre todo, errores: la máquina siempre aplica el mismo formato, no se le olvida un paso.
Cómo funciona una macro por dentro y por fuera
Una macro es un programa escrito en VBA que vive dentro del archivo de Excel, en una zona oculta llamada «proyecto VBA». Cuando abres un libro con macros, Excel las lee y las deja listas para ejecutarse desde la lista de macros, desde un atajo o desde un botón dibujado en la hoja.
Por fuera, la ves como un botón o un atajo. Por dentro, es código: instrucciones que dicen «selecciona el rango A1:C1», «ponlo en negrita», «cambia el formato de B2 a moneda», «ajusta el ancho de las columnas». Cada vez que ejecutas la macro, Excel repite esas instrucciones en el orden grabado, sobre la hoja que tengas abierta.
El lenguaje VBA y el editor donde se escribe
VBA es el lenguaje de macros de Microsoft Office. La grabadora lo escribe por ti, pero el código se puede leer y modificar a mano en el editor de Visual Basic, que se abre con Alt+F11. Dentro del editor, cada libro tiene su propio proyecto, y dentro de cada proyecto hay módulos donde viven las macros.
Un ejemplo mínimo de macro en VBA, copiado tal cual y que funciona pegado en un módulo:
Sub Saludo()
Range("A1").Value = "Hola"
MsgBox "Listo"
End Sub
Esta macro escribe «Hola» en la celda A1 y muestra un aviso. Cuando la grabadora trabaja por ti, genera código parecido: cada clic se traduce en una línea de VBA que opera sobre celdas, rangos, hojas y libros.
La pestaña Programador, la puerta de entrada a las macros
La pestaña Programador viene oculta por defecto. Activarla es el primer paso para trabajar con macros: desde ahí se graban, se ejecutan y se abren las herramientas de controles (botones, casillas, cuadros combinados).
Pasos para activarla:
- Clic en Archivo.
- Clic en Opciones (al final de la lista).
- En la ventana que se abre, clic en Personalizar cinta de opciones (la categoría de la izquierda).
- En la columna derecha Pestañas principales, marca la casilla Programador.
- Clic en Aceptar.
Al volver a la hoja, la pestaña Programador aparece en la cinta con los grupos Código, Complementos y Controles.
La grabadora: que Excel escriba el código por ti
La grabadora de macros es la forma más rápida de empezar: tú haces el trabajo una vez con el ratón y el teclado, y Excel lo convierte en código VBA. Cuando terminas, la macro ya está lista para ejecutarse con un atajo o desde la lista de macros.
Al pulsar Aceptar, todo lo que hagas (seleccionar celdas, pulsar botones, escribir, dar formato) queda registrado hasta que detienes la grabación con Programador > Código > Detener grabación (o Vista > Macros > Detener grabación).
La seguridad de las macros y por qué Excel pregunta al abrirlas
Una macro es código, y el código puede hacer daño: borrar archivos, enviar datos por internet, formatear el disco. Por eso Excel las bloquea por defecto cuando el archivo viene de fuera (correo, navegador, USB). El control está en el Centro de confianza, y se gestiona desde la cinta con esta ruta:
Las cuatro opciones del cuadro Configuración de macros se resumen en esta tabla:
| Opción | Qué hace | Cuándo conviene |
|---|---|---|
| Deshabilitar todas las macros sin notificación | Bloquea todo, sin avisar. | Equipos muy controlados donde nadie usa macros. |
| Deshabilitar todas las macros con notificación | Bloquea, pero muestra la barra Aviso de seguridad para habilitarlas. | La opción recomendada para la mayoría. |
| Deshabilitar todas las macros excepto las firmadas digitalmente | Solo ejecuta macros con firma válida. | Entornos corporativos con autores conocidos. |
| Habilitar todas las macros (no recomendado) | Ejecuta cualquier macro sin preguntar. | Solo para probar, nunca en un equipo de uso habitual. |
Deshabilitar todo, notificar o confiar en la firma
Para el día a día, deja la segunda opción activada: las macros quedan bloqueadas hasta que tú pulses Habilitar contenido en la barra amarilla que aparece bajo la cinta. Las otras dos opciones de bloqueo total (sin aviso y solo firmadas) son para entornos donde la seguridad manda sobre la comodidad. Habilitar todas sin filtro es la opción que Microsoft marca como «no recomendada» y solo sirve en un equipo de pruebas.
Cómo desbloquear un archivo concreto al abrirlo
Si abres un archivo con macros y no aparece la barra Aviso de seguridad, el archivo está bloqueado por venir de una zona no segura (internet, correo, otra red). Para desbloquearlo:
- Cierra Excel sin abrir el archivo.
- Abre el Explorador de Windows y busca el archivo.
- Clic derecho sobre el archivo > Propiedades.
- En la pestaña General, marca la casilla Desbloquear (abajo del todo).
- Clic en Aceptar y vuelve a abrir el archivo en Excel.
Crear tu primera macro sin escribir una línea de código
Vamos a usar la hoja de ventas de la tienda. La macro grabará el formato que aplicarías cada semana: títulos en negrita, importes como moneda con dos decimales y columnas ajustadas al contenido.
Hoja inicial, antes de grabar la macro:
| A | B | C | |
|---|---|---|---|
| 1 | Producto | Importe | Fecha |
| 2 | Cuaderno A5 | 3,20 | 02/10/2026 |
| 3 | Bolígrafo azul | 1,50 | 02/10/2026 |
| 4 | Carpeta anillas | 4,80 | 03/10/2026 |
| 5 | Goma de borrar | 0,80 | 03/10/2026 |
| 6 | Rotulador pizarra | 2,95 | 04/10/2026 |
Activar la ficha Programador y empezar a grabar
- Si la pestaña Programador no está visible, actívala con la ruta Archivo > Opciones > Personalizar cinta de opciones y márcala en Pestañas principales.
- Ve a la hoja Ventas.
- Clic en Programador > Código > Grabar macro.
- En Nombre de la macro escribe
FormatoVentas. - En Método abreviado escribe Ctrl+Mayús+M (se guardará mientras el libro esté abierto).
- En Guardar macro en deja Este libro.
- Clic en Aceptar.
A partir de este momento, todo lo que hagas queda registrado.
Realizar las acciones y detener la grabación
- Selecciona el rango A1:C1 (clic en A1 y arrastra hasta C1, o usa el cuadro de nombres y escribe
A1:C1). - Aplica negrita con Ctrl+N (Inicio > Fuente > Negrita).
- Selecciona el rango B2:B6 con el cuadro de nombres.
- Abre Formato de celdas con Ctrl+1 y elige la categoría Moneda con 2 decimales.
- Vuelve a seleccionar A1:C6 y aplica Formato > Ajustar ancho de columna (o haz doble clic en el borde derecho de la cabecera de la columna A).
- Clic en cualquier celda vacía para «soltar» la selección.
- Clic en Programador > Código > Detener grabación (también en Vista > Macros > Detener grabación).
Hoja después de ejecutar la macro:
| A | B | C | |
|---|---|---|---|
| 1 | Producto | Importe | Fecha |
| 2 | Cuaderno A5 | 3,20 € | 02/10/2026 |
| 3 | Bolígrafo azul | 1,50 € | 02/10/2026 |
| 4 | Carpeta anillas | 4,80 € | 03/10/2026 |
| 5 | Goma de borrar | 0,80 € | 03/10/2026 |
| 6 | Rotulador pizarra | 2,95 € | 04/10/2026 |
Ejecutar la macro desde la lista y desde el atajo
- Clic en Programador > Código > Macros (atajo Alt+F8).
- Selecciona FormatoVentas en la lista.
- Clic en Ejecutar: la hoja vuelve a formatearse en un segundo.
- Cierra la lista y prueba el atajo Ctrl+Mayús+M: la hoja se reformatea igual.
Guardar el libro con macros para no perderlas
Al cerrar el libro, Excel pregunta si quieres guardar los cambios. Si lo guardas como .xlsx, las macros desaparecen en silencio: el libro se queda, pero sin código VBA. Para conservarlas, hay que guardar en un formato que las admita.
Pasos para guardar correctamente:
- Clic en Archivo > Guardar como.
- Elige la carpeta.
- En Tipo, selecciona *Libro de Excel habilitado para macros (.xlsm)**.
- Clic en Guardar y, si aparece el aviso de que el archivo ya existe, acepta reemplazarlo.
Cierra el libro, vuélvelo a abrir y comprueba con Alt+F8 que la macro FormatoVentas sigue en la lista.
El .xlsm frente al .xlsx y al .xlsb
| Formato | Guarda macros | Cuándo usarlo |
|---|---|---|
| .xlsx | No | Libro sin macros, el más común. |
| .xlsm | Sí | Libro con macros que vas a compartir o usar a menudo. |
| .xlsb | Sí | Libro binario, más rápido y pequeño con muchos datos y macros. |
| .xls | Sí (limitado) | Formato antiguo de Excel 97-2003 (65.536 filas), solo por compatibilidad. |
Ejecutar la macro con un botón en la hoja
Un botón en la propia hoja es la forma más cómoda de lanzar la macro: un clic y la hoja se formatea. Se dibuja con un control de formulario, una herramienta pensada para eso.
- En la hoja Ventas, ve a Programador > Controles > Insertar.
- En el grupo Controles de formulario, clic en el primer icono: Botón.
- Dibuja el botón sobre la celda D1 (clic y arrastrar).
- Al soltar, se abre el cuadro Asignar macro; selecciona FormatoVentas y pulsa Aceptar.
- Clic derecho sobre el botón > Modificar texto y escribe Dar formato.
Mover el botón, cambiarle el texto y reasignar la macro
- Clic derecho sobre el botón (sin pulsar) y elige Modificar texto para cambiar la etiqueta.
- Clic derecho > Asignar macro para cambiar la macro que ejecuta sin borrar el botón.
- Para moverlo, clic derecho > Cortar, clic en la celda destino y Pegar.
- Para borrarlo, clic derecho > Eliminar (o Supr).
Por qué la macro no aparece, no se ejecuta o no se guarda
Las tres causas reales, las que aparecen una y otra vez, son: guardar en el formato equivocado, abrir un archivo bloqueado por la seguridad y tener un atajo que coincide con otro de Excel. Cada una tiene su arreglo.
Guardaste como .xlsx y perdiste las macros
Al guardar el libro elegiste *Libro de Excel (.xlsx)**. Excel guardó la hoja y los datos, pero dejó fuera las macros sin avisar claramente. La próxima vez que abras, Alt+F8 mostrará la lista vacía.
Cómo arreglarlo:
- Vuelve a abrir el libro (sin macros, pero con los datos).
- Crea de nuevo la macro desde la grabadora, o recupera una copia anterior del .xlsm si la tienes.
- Al guardar, elige *Libro de Excel habilitado para macros (.xlsm)** y acepta reemplazar el archivo.
El botón Habilitar contenido no aparece al abrir
El archivo llegó por correo, se descargó de una web o se copió desde un USB, y Windows lo marcó como no seguro. Excel muestra la macro deshabilitada, pero no siempre enseña la barra amarilla Aviso de seguridad.
Cómo arreglarlo:
- Cierra Excel.
- En el Explorador de Windows, clic derecho sobre el archivo > Propiedades.
- En la pestaña General, marca la casilla Desbloquear y pulsa Aceptar.
- Vuelve a abrir el archivo: la barra Aviso de seguridad aparecerá y podrás pulsar Habilitar contenido.
La macro no hace nada al pulsar el atajo
Pulsas Ctrl+Mayús+M y no pasa nada. Las tres causas más frecuentes son: el atajo coincide con otro de Excel, estás dentro de una celda en modo edición, o el libro con la macro no es el libro activo.
Cómo arreglarlo:
- Comprueba con Alt+F8 que la macro FormatoVentas existe en la lista.
- Si no está, el libro activo no es el que tiene la macro: ábrelo desde Archivo > Abrir.
- Pulsa Esc para salir del modo edición si estás escribiendo en una celda.
- Ejecuta la macro desde la lista con Ejecutar: si funciona, el atajo es el problema; cámbialo grabando la macro de nuevo con otra combinación.
Ctrl+letra solo lo mantienen mientras su libro está abierto. Si compartes el archivo, el destinatario también deberá abrirlo para usar el atajo.Cuando las macros no son la herramienta adecuada
Las macros son ideales para repetir la misma secuencia de clics, pero no son la única herramienta de automatización de Excel. Conviene saber cuándo elegir otra cosa y no forzar la macro.
Si el trabajo se hace una sola vez, hacerlo a mano es más rápido que grabar y probar la macro. Si la tarea es importar, limpiar y cruzar datos de varios archivos, Power Query (integrado en Excel 2016, 2019, 2021, 2024 y Microsoft 365) hace lo mismo con menos código y de forma repetible. Y si trabajas en Excel para la web, las macros VBA no se ejecutan: allí se automatiza con Scripts de Office, que usan JavaScript en lugar de VBA.
Grabar todo no siempre sirve: macros rígidas que se rompen
La grabadora traduce tus clics de forma literal. Si siempre seleccionas B2:B6 y la próxima semana la lista tiene diez productos, la macro seguirá formateando solo seis filas. Si siempre trabajas sobre la hoja Ventas y un día renombras la hoja a Pedidos, la macro fallará con un error de VBA porque no encuentra la hoja.
La solución es abrir el editor con Alt+F11, leer el código que generó la grabadora y ajustar las referencias a rangos dinámicos o a nombres de hoja. Eso ya es programar, y es el siguiente paso natural: usar la grabadora para aprender los nombres de cada objeto y, a partir de ahí, escribir macros a mano que se adapten a los cambios de la hoja.
Lo que ya sabes hacer con macros y el siguiente paso
- Activar la pestaña Programador desde Archivo > Opciones > Personalizar cinta de opciones.
- Grabar una macro con la grabadora y detenerla con Programador > Código > Detener grabación.
- Guardar el libro como *Libro de Excel habilitado para macros (.xlsm)** para no perder el código.
- Ejecutar la macro con Alt+F8, con un atajo propio y con un botón dibujado en la hoja.
- Habilitar el contenido de un archivo bloqueado desde la barra Aviso de seguridad o desde Propiedades > Desbloquear.
El siguiente paso es abrir el editor con Alt+F11, leer el código que generó la grabadora para la macro FormatoVentas y cambiar los rangos fijos por referencias a tablas, para que la macro siga funcionando cuando la lista de productos crezca.
Dudas al usar macros de Excel
1. ¿Para qué sirven las macros en Excel?
Sirven para automatizar tareas repetitivas: aplicar el mismo formato a cientos de filas, generar informes a partir de una tabla, limpiar datos importados o crear formularios de ingreso. En lugar de hacer esos pasos a mano, los grabas una vez y Excel los reproduce con un clic, un atajo o un botón.
2. ¿Qué ejemplos reales se pueden hacer con una macro en Excel?
Un ejemplo típico: una macro que toma una hoja de ventas, le da formato de tabla, le añade totales por categoría y la guarda como PDF con nombre y fecha. Otro muy usado: un botón que abre un formulario (UserForm) para capturar clientes y los vuelca a una hoja sin escribir celda por celda.
3. ¿Qué es exactamente una macro en Excel?
Una macro es un pequeño programa escrito en VBA (Visual Basic para Aplicaciones) que vive dentro del libro .xlsm y que ejecuta una secuencia de acciones sobre la hoja o el libro. Lo normal es crearla con la Grabadora de macros, que traduce tus clics a código VBA sin que tengas que escribirlo.
4. ¿Cómo se habilitan las macros en Excel?
Abre el archivo y, cuando aparece la barra amarilla de «ADVERTENCIA DE SEGURIDAD», pulsa Habilitar contenido. Para que no vuelva a preguntarte en ese libro, ve a Archivo > Opciones > Centro de confianza > Configuración del centro de confianza > Configuración de macros y marca «Deshabilitar todas las macros con notificación».
5. ¿Cómo habilito las macros en Microsoft 365?
El procedimiento es el mismo que en las versiones de escritorio: al abrir el .xlsm pulsa Habilitar contenido en la barra amarilla. En Excel para la web no se pueden ejecutar macros VBA: ahí se automatiza con Scripts de Office o con Power Automate.
6. ¿Cómo deshabilito las macros en Excel?
Ve a Archivo > Opciones > Centro de confianza > Configuración del centro de confianza > Configuración de macros y elige «Deshabilitar todas las macros sin notificación» o «Deshabilitar todas las macros con notificación». Con la segunda, Excel te avisa en la barra superior y decides archivo por archivo.
7. ¿Cómo creo una macro que ingrese datos en una hoja?
Graba la macro mientras escribes los datos en una fila, por ejemplo Nombre, Importe y Fecha en las columnas A, B y C. Al detener la grabación, el código VBA queda en Módulo1 y, al ejecutarla, repite la misma escritura en la fila siguiente vacía de la hoja.
8. ¿Cuáles son los pasos para crear una macro desde cero?
Ve a Programador > Código > Grabar macro, dale un nombre y, si quieres, un atajo de teclado. Realiza las acciones sobre la hoja, pulsa Detener grabación y prueba la macro con el atajo o desde Programador > Macros > Ejecutar.
Fuentes
- MicrosoftEl editor de VBA y la primera macro — documentación oficialconsultado el 06/10/2026
- MicrosoftAtajos que funcionan igual en cualquier idioma — documentación oficialconsultado el 06/10/2026
- MicrosoftFormatos de archivo de Excel — documentación oficialconsultado el 06/10/2026