Una macro es una receta automática que ejecuta Excel por ti: en lugar de repetir los mismos clics cada lunes, los grabas una vez y los reproduces con un atajo o un clic. Al terminar este tutorial sabrás activar la pestaña Programador, grabar una macro que resalta las facturas vencidas, ejecutarla, abrir el código que generó y guardar el libro en formato .xlsm para no perderla.
Las macros con la grabadora están en todas las versiones de escritorio de Excel desde la 2007 y en Excel para Microsoft 365. Excel para la web no ejecuta macros VBA: ahí se automatiza con Scripts de Office. Lo que se explica a continuación vale para Windows y Mac; los atajos en Mac cambian Ctrl por Cmd.
Qué es una macro y para qué te sirve en Excel
Una macro es un conjunto de instrucciones que Excel ejecuta seguidas, como si las escribieras tú a mano, pero mucho más rápido. La forma más fácil de crearla es «grabar»: pulsas un botón, haces los clics que siempre repites, y Excel los traduce a un pequeño programa en lenguaje VBA (Visual Basic for Applications).
Imagina tu informe mensual de clientes. Cada lunes abres el archivo, ordenas por fecha, recorres una a una las filas y, si la factura ya venció, pones la fila en rojo y en negrita a mano. Son cinco minutos que se vuelven veinte cuando la lista crece, y un clic que se equivoca estropea el formato. Una macro hace ese repaso en un segundo y de la misma manera cada vez.
Las macros también sirven para otras tareas repetitivas: aplicar el mismo formato a un rango nuevo, abrir un libro concreto, copiar datos de una hoja a otra, generar un PDF. La grabadora cubre las que son puramente visuales (formato, clics, selección); para tareas con condiciones (por ejemplo, «solo si venció») conviene aprender a escribir el código a mano, algo que se apunta al final.
Dónde están las herramientas de macros y qué hace cada una
Las macros se gestionan desde la pestaña Programador, que viene oculta por defecto. Esa pestaña agrupa todo lo necesario en el grupo Código: Grabar macro, Macros, Visual Basic, y en Complementos: Complementos y Comandos de macros. Hay dos caminos para crear una macro: grabarla con la herramienta visual o escribir el código directamente en el editor de Visual Basic.
La grabadora es para empezar: registra tus clics y los traduce a VBA sin que tengas que programar. El editor de Visual Basic es para ir más allá: leer lo que generó la grabadora, entenderlo y modificarlo cuando el resultado no sea el esperado.
Activar la pestaña Programador en Windows y en Mac
- En Windows, abre Archivo > Opciones > Personalizar cinta de opciones.
- En la columna de la derecha Pestañas principales, marca la casilla Programador y pulsa Aceptar.
- En Mac, abre Excel > Preferencias > Barra de herramientas y opciones > Personalizar la cinta de opciones.
- Marca Programador dentro de Pestañas principales y pulsa Guardar.
Grabar macro, Macros y Visual Basic: para qué sirve cada botón
El botón Grabar macro abre un cuadro donde poner nombre, atajo y descripción, y empieza a registrar cada clic. El botón Macros (o Alt+F8) lista las macros del libro, permite ejecutarlas, editarlas o borrarlas. El botón Visual Basic (o Alt+F11) abre el editor de VBA: allí ves el código que generó la grabadora y puedes cambiarlo.
Grabar tu primera macro paso a paso
Vamos a crear una macro llamada ResaltaVencidos que recorre la hoja «Informe» y pone en rojo y negrita la fila de cada cliente con fecha vencida. Trabajaremos sobre estos datos, donde la fecha de hoy es 15/10/2026 (las fechas anteriores ya vencieron):
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Nº | Fecha | Cliente | Importe |
| 2 | F-001 | 20/09/2026 | Garcia, M. | 320,00 |
| 3 | F-002 | 05/10/2026 | Lopez, A. | 150,00 |
| 4 | F-003 | 18/10/2026 | Ruiz, P. | 540,00 |
| 5 | F-004 | 02/09/2026 | Diaz, R. | 210,00 |
| 6 | F-005 | 22/10/2026 | Soto, L. | 480,00 |
| 7 | F-006 | 11/10/2026 | Mora, C. | 95,00 |
| 8 | F-007 | 30/09/2026 | Vidal, J. | 1.250,00 |
Preparar el guion antes de pulsar Grabar
Antes de pulsar el botón, conviene tener clara la secuencia exacta para no grabar movimientos inútiles (selección accidental de una celda, scroll, cambio de ventana):
- Clic en la celda B2 (primera fecha).
- Ctrl+Mayús+Fin para seleccionar hasta la última celda usada.
- Inicio > Fuente > Color de fuente y elegir rojo.
- Inicio > Fuente > Negrita.
- Detener grabación.
Nombrar la macro y, si quieres, asignarle un atajo
Pulsa Aceptar y Excel empieza a registrar cada clic. Cuando termines la secuencia, ve a Programador > Código > Detener grabación (o pulsa el cuadrado azul del mismo grupo).
Ctrl+letra en Windows; en Mac se sustituiría por Cmd. El nombre de la macro no puede llevar espacios ni guiones: solo letras, números y guion bajo, empezando por letra.Ejecutar la macro y comprobar que funciona
- Selecciona la celda B5 para probar sobre otra fila (la de
Diaz, R., también vencida). - Pulsa Ctrl+Mayús+R.
- Observa la fila 5: el texto pasa a rojo y en negrita, igual que la fila 2 de antes.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Nº | Fecha | Cliente | Importe |
| 2 | F-001 | 20/09/2026 | Garcia, M. | 320,00 |
| 3 | F-002 | 05/10/2026 | Lopez, A. | 150,00 |
| 4 | F-003 | 18/10/2026 | Ruiz, P. | 540,00 |
| 5 | F-004 | 02/09/2026 | Diaz, R. | 210,00 |
| 6 | F-005 | 22/10/2026 | Soto, L. | 480,00 |
| 7 | F-006 | 11/10/2026 | Mora, C. | 95,00 |
| 8 | F-007 | 30/09/2026 | Vidal, J. | 1.250,00 |
Ver el código que generó la grabadora
Pulsa Programador > Código > Macros, selecciona ResaltaVencidos y pulsa Modificar. Se abre el editor de Visual Basic con un módulo similar a este:
Sub ResaltaVencidos()
Range("B2").Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlToRight)).Select
Selection.Font.Color = RGB(255, 0, 0)
Selection.Font.Bold = True
End Sub
Cada línea corresponde a un clic que hiciste al grabar. Esa es la gran ventaja de la grabadora: ves cómo se llama en VBA cada acción y aprendes el nombre correcto de cada objeto (Range, Selection, Font, Color, Bold).
Un Sub sencillo escrito a mano en el editor
Vamos a crear desde cero un Sub para ver la estructura básica. En el editor de Visual Basic, Insertar > Módulo y escribe:
Sub Saludo()
Range("A1").Value = "Hola"
MsgBox "Listo"
End Sub
Ejecuta con F5 desde el editor o Alt+F8 desde la hoja. La celda A1 mostrará el texto Hola y aparecerá un cuadro de mensaje con Listo.
Hola
MsgBox no usa argumentos en este ejemplo básico; en uno con variables irían entre comas, como MsgBox "Listo", vbInformation.Guardar y abrir el libro sin perder la macro
- Pulsa F12 (o Archivo > Guardar como).
- Elige la carpeta y pon nombre, por ejemplo
InformeClientes.xlsm. - En Tipo, selecciona Libro de Excel habilitado para macros (.xlsm).
- Pulsa Guardar.
Al cerrar y volver a abrir, la macro sigue en Programador > Código > Macros.
.xlsx (el tipo por defecto), Excel te avisa de que se perderán las macros y las borra al guardar. Siempre que el libro tenga macros, guárdalo como .xlsm.Por qué tu macro no hace lo que esperabas
La grabadora es muy literal: registra todo lo que haces, para bien y para mal. Estos tres tropiezos son los más comunes al grabar la primera macro.
La macro no aparece en la lista de Macros
Causa: el libro se guardó como .xlsx y, al guardar, Excel eliminó las macros. Arreglo: abre la versión .xlsm desde la carpeta original (no la .xlsx que se generó por error) o vuelve a guardar el archivo como .xlsm desde Archivo > Guardar como.
El atajo Ctrl+Mayús+R no responde
Causa: Excel para Windows no trae un cuadro para reasignar atajos propios: cuando asignas Ctrl+letra a una macro grabada, esa combinación tapa al atajo de Excel que use esa letra mientras el libro esté abierto. También puede que otro complemento la capture. Arreglo: cambia la combinación al grabar de nuevo (por ejemplo Ctrl+Mayús+J) o lanza la macro desde la lista con Alt+F8.
La macro pinta la fila pero deja la columna equivocada
Causa: al grabar hiciste clic en una celda distinta a la prevista y la grabadora la fijó como referencia absoluta. El código incluye un Range("B7").Select que no debería estar ahí. Arreglo: abre el código (Programador > Macros > Modificar) y borra las líneas Select sobrantes, dejando solo el rango final que quieres formatear. Si te pierdes, borra la macro y vuelve a grabar siguiendo el guion del apartado correspondiente.
Lo que ya sabes hacer con macros y el siguiente paso
Cinco ideas para llevarte de este tutorial:
- Activar la pestaña Programador desde Archivo > Opciones > Personalizar cinta de opciones.
- Preparar un guion de clics antes de pulsar Grabar macro para no ensuciar el código.
- Asignar un atajo propio al grabar la macro o ejecutarla con Alt+F8.
- Guardar el libro como .xlsm para no perder las macros al cerrar.
- Abrir el código con Modificar cuando el resultado no sea el esperado.
El siguiente paso lógico es escribir un Sub a mano con una condición. Por ejemplo, recorrer las filas y formatear solo las vencidas con un bucle For Each y un If, en lugar de grabar todos los clics. Eso evita pintar filas que aún no vencieron y permite reutilizar la macro aunque cambien los datos.
Fuentes
- MicrosoftAtajos propios y reasignar atajos en Excel — documentación oficialconsultado el 13/10/2026
- MicrosoftFECHA — documentación oficialconsultado el 13/10/2026
- MicrosoftEl editor de VBA y la primera macro — documentación oficialconsultado el 13/10/2026
- MicrosoftGráficos — documentación oficialconsultado el 13/10/2026
- MicrosoftLAMBDA — documentación oficialconsultado el 13/10/2026