macros

Archivo de macro en Excel: cómo crearlo, guardarlo y usarlo

octubre 31, 2026 Tuto Excel 11 min read
Archivo de macro en Excel: cómo crearlo, guardarlo y usarlo

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.

Nota: VBA significa Visual Basic for Applications, el lenguaje de automatización utilizado por Excel de escritorio. El acceso rápido a la grabadora está en Vista > Macros.

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.

Cuidado: guardar como .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í:

  1. Selecciona Archivo > Opciones.
  2. En Personalizar cinta de opciones, abre Personalizar la pestaña Programador.
  3. Marca Programador y pulsa Aceptar.

La ruta para mostrar la pestaña es:

ArchivoOpcionesPersonalizar cinta de opciones

Después, dentro de la pestaña Programador, usa:

ProgramadorCódigoGrabar macro
ProgramadorCódigoMacros
ProgramadorCódigoDetener grabación
Nota: en Excel para Mac, la pestaña se llama Desarrollador en la interfaz y puede mostrarse desde las preferencias de la aplicación. En Windows, la documentación oficial también muestra el nombre equivalente Programador.

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.

VistaMacros

Windows: Alt+F8 abre la lista de macros. En Mac, usa el equivalente que muestre el sistema.

Consejo: muestra la pestaña Programador mientras aprendes. Ver en un mismo lugar Grabar macro, Detener grabación y Macros reduce la búsqueda de controles.

Graba tu primera macro en un informe

Crea un libro con una hoja llamada Clientes y estos datos:

A1fx**Cliente**
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
Clientes
  1. Selecciona A2:C5.
  2. Abre Vista > Macros > Grabar macro.
  3. En el cuadro Grabar macro, escribe MarcarVencidas.
  4. Pulsa Aceptar.
  5. En la barra de estado, comprueba que aparece Grabación.
  6. Selecciona A2:C5 y usa Inicio > Fuente > Color de fuente > Rojo y Inicio > Fuente > Negrita.
  7. 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.

Comprueba: las filas 2 y 4 aparecen con texto rojo y negrita; las filas 3 y 5 conservan su formato.

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.

Comprueba: después de guardar y volver a abrir el libro, Ctrl+Mayús+M sigue asociado a MarcarVencidas si el archivo se conservó como .xlsm.

Ejecuta la macro sin volver a grabarla

  1. Restablece el formato de A2:C5 con Inicio > Fuente > Color de fuente > Automático y quita la negrita.
  2. Cambia el estado de la fila 3 a Vencida.
  3. Pulsa Ctrl+Mayús+M.
  4. Observa el resultado.
A2:C5fx
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
Clientes
Cuidado: la macro grabada formatea el rango completo; todavía no comprueba qué celdas están vencidas. Esa limitación se corrige al editar el código.
Comprueba: las filas 2, 3 y 4 quedan en rojo y negrita, mientras la fila 5 no cambia.

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.

Comprueba: A1 muestra 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

  1. Selecciona Archivo > Guardar como.
  2. Elige la carpeta donde quieres conservar el informe.
  3. En Tipo, selecciona *Libro de Excel habilitado para macros (.xlsm)**.
  4. Escribe Informe clientes con macros en Nombre de archivo.
  5. Pulsa Guardar.
  6. Cierra el libro y vuelve a abrirlo.
A1fx**Cliente**
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
Clientes

Al reabrirlo, abre Vista > Macros, selecciona MarcarVencidas y comprueba que sigue en la lista.

Comprueba: el archivo aparece con extensión .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.

Cuidado: no dependas de un único archivo. Conserva una copia de los libros con macros antes de cambiar su extensión o instalar actualizaciones de Excel.

Ejecuta una macro guardada en otro libro

  1. Abre Informe clientes con macros.xlsm mediante Archivo > Abrir.
  2. Si aparece la barra de seguridad, revisa el archivo y habilita las macros solo si confías en su origen.
  3. Selecciona Vista > Macros.
  4. Elige MarcarVencidas.
  5. Pulsa Ejecutar.
C2fxVencida
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
Clientes

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.

Comprueba: la macro se ejecuta y las filas con Vencida reciben el formato definido.

Asigna un método abreviado a una macro

  1. Abre Vista > Macros.
  2. Selecciona MarcarVencidas.
  3. Pulsa Opciones.
  4. En Método abreviado, elige la combinación disponible.
  5. 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.

Comprueba: después de cerrar y abrir el libro, la macro sigue asociada al atajo elegido.

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.

Cuidado: no habilites macros de archivos desconocidos. Comprueba el remitente, la procedencia y si el archivo fue firmado; si tienes dudas, pide el archivo por otro canal o utiliza los datos sin ejecutar la macro.

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

  1. Cierra Excel.
  2. Abre el Explorador de archivos.
  3. Busca el archivo .xlsm.
  4. Haz clic derecho y selecciona Propiedades.
  5. En la pestaña General, busca la sección Seguridad o el aviso Desbloquear.
  6. Activa Desbloquear y pulsa Aplicar.
  7. Vuelve a abrir el archivo en Excel.
  8. Revisa la barra de seguridad y habilita las macros si el archivo es de confianza.
Comprueba: al volver a abrir el archivo, la propiedad de bloqueo aparece desactivada y Excel permite revisar las macros antes de habilitarlas.

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.

Comprueba: si el archivo está firmado, el nombre del editor y el estado del certificado aparecen en el cuadro correspondiente.

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.

Nota: una macro solo se ejecuta si el archivo está abierto en una versión compatible, las macros están habilitadas y el contenido no está bloqueado por unadirectiva de seguridad.

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 .xlsm sin 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

  1. MicrosoftInicio rápido: Crear una macro – Microsoft Supportconsultado el 27/10/2026
  2. MicrosoftFormatos de archivo de Excel — documentación oficialconsultado el 27/10/2026
  3. MicrosoftEl editor de VBA y la primera macro — documentación oficialconsultado el 27/10/2026
  4. MicrosoftMAKEARRAY — documentación oficialconsultado el 27/10/2026
  5. MicrosoftPower Query (Obtener y transformar datos) — documentación oficialconsultado el 27/10/2026