PowerPoint

Qué son las macros de Excel y para qué sirven: guía para empezar

octubre 14, 2026 Tuto Excel 17 min read
Qué son las macros de Excel y para qué sirven: guía para empezar

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).

ArchivoOpcionesPersonalizar cinta de opciones

Pasos para activarla:

  1. Clic en Archivo.
  2. Clic en Opciones (al final de la lista).
  3. En la ventana que se abre, clic en Personalizar cinta de opciones (la categoría de la izquierda).
  4. En la columna derecha Pestañas principales, marca la casilla Programador.
  5. 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.

ProgramadorCódigoGrabar macro

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:

ArchivoOpcionesCentro de confianzaConfiguración del Centro de confianzaConfiguración de macros

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:

  1. Cierra Excel sin abrir el archivo.
  2. Abre el Explorador de Windows y busca el archivo.
  3. Clic derecho sobre el archivo > Propiedades.
  4. En la pestaña General, marca la casilla Desbloquear (abajo del todo).
  5. Clic en Aceptar y vuelve a abrir el archivo en Excel.
Nota: la casilla Desbloquear solo aparece si Windows marcó el archivo como procedente de otra zona. Si no la ves, el bloqueo está en la propia configuración de macros.

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:

A1fx**Producto**
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
Ventas

Activar la ficha Programador y empezar a grabar

  1. 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.
  2. Ve a la hoja Ventas.
  3. Clic en Programador > Código > Grabar macro.
  4. En Nombre de la macro escribe FormatoVentas.
  5. En Método abreviado escribe Ctrl+Mayús+M (se guardará mientras el libro esté abierto).
  6. En Guardar macro en deja Este libro.
  7. Clic en Aceptar.

A partir de este momento, todo lo que hagas queda registrado.

Cuidado: durante la grabación, evita usar el botón Cancelar de los cuadros de diálogo: el clic se graba y puede hacer que la macro falle después.

Realizar las acciones y detener la grabación

  1. Selecciona el rango A1:C1 (clic en A1 y arrastra hasta C1, o usa el cuadro de nombres y escribe A1:C1).
  2. Aplica negrita con Ctrl+N (Inicio > Fuente > Negrita).
  3. Selecciona el rango B2:B6 con el cuadro de nombres.
  4. Abre Formato de celdas con Ctrl+1 y elige la categoría Moneda con 2 decimales.
  5. 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).
  6. Clic en cualquier celda vacía para «soltar» la selección.
  7. Clic en Programador > Código > Detener grabación (también en Vista > Macros > Detener grabación).

Hoja después de ejecutar la macro:

A1fx**Producto**
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
Ventas
Comprueba: la fila 1 está en negrita, la columna B muestra los importes con dos decimales y separador de miles, y todas las columnas se ajustan al texto. Si los anchos no cambian, repite el doble clic en el borde de la cabecera de la columna A.

Ejecutar la macro desde la lista y desde el atajo

  1. Clic en Programador > Código > Macros (atajo Alt+F8).
  2. Selecciona FormatoVentas en la lista.
  3. Clic en Ejecutar: la hoja vuelve a formatearse en un segundo.
  4. Cierra la lista y prueba el atajo Ctrl+Mayús+M: la hoja se reformatea igual.
Nota: el atajo Ctrl+Mayús+M solo funciona mientras el libro con la macro está abierto. Si guardas el libro como .xlsx en lugar de .xlsm, la macro (y su atajo) se pierden.

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.

ArchivoGuardar comoTipo: Libro de Excel habilitado para macros (*.xlsm)

Pasos para guardar correctamente:

  1. Clic en Archivo > Guardar como.
  2. Elige la carpeta.
  3. En Tipo, selecciona *Libro de Excel habilitado para macros (.xlsm)**.
  4. 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.
Cuidado: guardar como CSV (.csv) pierde las macros, los formatos y todas las hojas salvo la activa. Úsalo solo para exportar datos planos a otro programa.

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.

ProgramadorControlesInsertarControles de formularioBotón
  1. En la hoja Ventas, ve a Programador > Controles > Insertar.
  2. En el grupo Controles de formulario, clic en el primer icono: Botón.
  3. Dibuja el botón sobre la celda D1 (clic y arrastrar).
  4. Al soltar, se abre el cuadro Asignar macro; selecciona FormatoVentas y pulsa Aceptar.
  5. Clic derecho sobre el botón > Modificar texto y escribe Dar formato.
Comprueba: al pulsar el botón Dar formato, la hoja vuelve a formatearse igual que cuando ejecutaste la macro desde Alt+F8.

Mover el botón, cambiarle el texto y reasignar la macro

  1. Clic derecho sobre el botón (sin pulsar) y elige Modificar texto para cambiar la etiqueta.
  2. Clic derecho > Asignar macro para cambiar la macro que ejecuta sin borrar el botón.
  3. Para moverlo, clic derecho > Cortar, clic en la celda destino y Pegar.
  4. Para borrarlo, clic derecho > Eliminar (o Supr).
Consejo: si el botón se queda «dentro» de una celda y no puedes seleccionarlo, usa Ctrl+Mayús+Barra espaciadora para entrar en modo selección, y después clic sobre el botón.

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:

  1. Vuelve a abrir el libro (sin macros, pero con los datos).
  2. Crea de nuevo la macro desde la grabadora, o recupera una copia anterior del .xlsm si la tienes.
  3. Al guardar, elige *Libro de Excel habilitado para macros (.xlsm)** y acepta reemplazar el archivo.
Cuidado: si ya cerraste Excel y solo tienes el .xlsx, las macros no se pueden recuperar: la grabación perdida, perdida. Por eso conviene hacer una copia de seguridad del .xlsm cada vez que la macro cambie.

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:

  1. Cierra Excel.
  2. En el Explorador de Windows, clic derecho sobre el archivo > Propiedades.
  3. En la pestaña General, marca la casilla Desbloquear y pulsa Aceptar.
  4. Vuelve a abrir el archivo: la barra Aviso de seguridad aparecerá y podrás pulsar Habilitar contenido.
Nota: si la casilla Desbloquear no aparece, el bloqueo está en la configuración de macros del propio Excel (Archivo > Opciones > Centro de confianza > Configuración de macros), no en el archivo.

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:

  1. Comprueba con Alt+F8 que la macro FormatoVentas existe en la lista.
  2. Si no está, el libro activo no es el que tiene la macro: ábrelo desde Archivo > Abrir.
  3. Pulsa Esc para salir del modo edición si estás escribiendo en una celda.
  4. 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.
Consejo: las macros con atajo 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

  1. MicrosoftEl editor de VBA y la primera macro — documentación oficialconsultado el 06/10/2026
  2. MicrosoftAtajos que funcionan igual en cualquier idioma — documentación oficialconsultado el 06/10/2026
  3. MicrosoftFormatos de archivo de Excel — documentación oficialconsultado el 06/10/2026