Excel Online

Cómo grabar una macro en Excel: tutorial desde cero

octubre 23, 2026 Tuto Excel 14 min read
Cómo grabar una macro en Excel: tutorial desde cero

Si buscas "excel online macro" lo normal es que tengas un archivo con macros guardado en OneDrive o SharePoint y quieras abrirlo desde el navegador para editarlo o ejecutarlo. Tomamos ese significado: cómo se comportan las macros VBA de un libro de Excel (.xlsm) al abrirlo en Excel para la web. Al terminar el artículo sabrás qué hace y qué no hace Excel para la web con un libro que contiene macros, cómo grabar una macro en el escritorio para después abrirla en la web, en qué se diferencia VBA de Office Scripts y cómo arreglar los dos errores más típicos que dejan la macro parada. Las macros VBA existen desde Excel 97 y siguen disponibles en Excel 2007, 2010, 2013, 2016, 2019, 2021, 2024 y Microsoft 365. Office Scripts está en Excel para la web, en Excel 2024 y en Microsoft 365.

Qué es una macro y por qué en Excel para la web cambia todo

Una macro es un programa corto escrito en VBA (Visual Basic for Applications) que vive dentro de un libro de Excel y automatiza tareas repetitivas: dar formato, mover datos, abrir formularios, escribir en celdas. Se guarda en módulos dentro del archivo, así que el libro la lleva siempre consigo.

El ejemplo más sencillo es una macro que escribe "Hola" en la celda A1 y luego muestra un mensaje:

Sub Saludo()
    Range("A1").Value = "Hola"
    MsgBox "Listo"
End Sub

En el escritorio la ejecutas con Alt+F8, ves el resultado y el cuadro "Listo". En Excel para la web este mismo archivo se abre sin errores, la macro sigue dentro del libro, pero no ocurre nada al pulsar Ejecutar: Excel para la web no interpreta VBA, no tiene editor y no muestra el cuadro Macros. Solo conserva el código dentro del archivo para que lo abras en el escritorio.

Nota: en este artículo, las fórmulas y los argumentos de VBA van con la sintaxis que usa Excel en español: punto y coma como separador en las fórmulas (`=SI(A1>10;"Alto";

Lo que Excel para la web hace con un libro que tiene macros

Excel para la web abre sin problemas cualquier libro .xlsm que tenga macros VBA. Las conserva tal cual dentro del archivo y permite trabajar con la hoja: cambiar números, escribir fórmulas, usar tablas dinámicas, Power Query en la web, tipos de datos, formato condicional y todas las funciones de cálculo. Lo que no hace es ejecutar, crear, editar ni borrar macros; tampoco tiene el editor de Visual Basic.

Para tocar las macros hay que abrir el archivo en la aplicación de escritorio. Desde el navegador lo consigues con el botón Abrir en aplicación de escritorio, que aparece en la cinta cuando el libro procede de OneDrive o SharePoint.

Pasos para abrir el archivo en el escritorio desde la web:

  1. Abre el archivo .xlsm en Excel para la web.
  2. En la cinta, pulsa Editar libro > Abrir en aplicación de escritorio.
  3. Confirma la apertura; el escritorio toma el archivo y mantiene el código VBA intacto.

Ver el código VBA sin ejecutar nada

En el escritorio, abre el archivo y pulsa Alt+F11. Se abre el editor de Visual Basic con el árbol del proyecto a la izquierda. Si la macro se grabó con la grabadora, su código aparece en un módulo dentro de Módulos y solo se puede leer; los módulos creados a mano sí se editan.

Eliminar macros que ya no quieres

Excel para la web no avisa de las macros al abrirlas ni ofrece borrarlas. La limpieza se hace en el escritorio.

  1. Abre el archivo en el escritorio (Alt+F11 para entrar al editor).
  2. En el panel Proyecto, haz clic derecho sobre el módulo que contiene la macro.
  3. Elige Quitar módulo y confirma.
  4. Guarda el archivo como .xlsm para que la macro siga sin aparecer.
Cuidado: si guardas el archivo como .xlsx (libro normal), perderás todas las macros y proyectos VBA sin aviso. Mantén la extensión .xlsm mientras queden macros dentro.

Grabar una macro en el escritorio para abrirla después en la web

La grabadora de macros convierte tus clics en código VBA. Vamos a usarla sobre una hoja de ejemplo llamada Informe con tres filas de datos, para que la macro ponga la fecha del sistema en A1 y ponga en negrita la fila del encabezado.

A1fx**Fecha**
A B C D
1 Fecha Cliente Importe Estado
2 01/10/2026 Ana 120,50 Pagado
3 02/10/2026 Luis 85,00 Pendiente
4 03/10/2026 Marta 240,75 Pagado
Informe

Activar la pestaña Programador y la grabadora

  1. En el escritorio, abre un libro nuevo y pega los datos de la tabla anterior en la hoja Informe.
  2. Activa la pestaña Programador si no la ves: ve a Archivo > Opciones > Personalizar cinta de opciones y marca Programador en la columna derecha.
  3. En la cinta, abre Programador > Código > Grabar macro.
ArchivoOpcionesPersonalizar cinta de opciones
ProgramadorCódigoGrabar macro
Nota: la combinación Ctrl+Mayús+F se asigna al grabar la macro y solo funciona mientras el libro está abierto. En Excel no hay un cuadro para reasignar atajos del programa; las macros son la vía oficial para crear atajos propios.

Ejecutar la macro y comprobar el resultado en la hoja

A partir de este momento todo lo que hagas se graba. Selecciona A1, escribe =HOY() y pulsa Entrar. Selecciona la fila 1, abre Inicio > Fuente > Negrita (Ctrl+N) y para la grabación con Programador > Código > Detener grabación.

=HOY()
A1fx=HOY()
A B C D
1 Fecha Cliente Importe Estado
2 04/10/2026 Ana 120,50 Pagado
3 02/10/2026 Luis 85,00 Pendiente
4 03/10/2026 Marta 240,75 Pagado
Informe
Comprueba: A2 muestra la fecha de hoy calculada con HOY(); la fila 1 aparece en negrita. Si pulsas Ctrl+Mayús+F con el libro abierto, A2 se actualiza otra vez al día siguiente.
Cuidado: =HOY() se recalcula cada vez que se abre o se calcula el libro; no es lo mismo que Ctrl+;, que inserta la fecha fija del día como valor. La grabadora anterior usa HOY porque es lo que se obtiene al pulsar Alt+; desde el menú Insertar > Función, no con el atajo directo.

Ahora guarda el archivo con F12 y elige tipo *Libro de Excel habilitado para macros (.xlsm)**. El nombre puede ser Informe_macro.xlsm.

Subir el .xlsm a OneDrive y abrirlo en Excel para la web

  1. Inicia sesión en OneDrive con el mismo usuario con el que abrirás Excel para la web.
  2. Arrastra Informe_macro.xlsm a la carpeta raíz de OneDrive o usa Cargar en la web de OneDrive.
  3. Entra en https://www.office.com, abre Excel, y haz doble clic sobre el archivo en Recientes o en OneDrive.
  4. Verás la hoja con los datos y la fila 1 en negrita. La macro sigue dentro, pero no hay ningún botón Macros en la cinta y Ctrl+Mayús+F no hace nada.

Crear macros y Scripts de Office: dos caminos según la versión

La misma tarea se resuelve de dos formas: con VBA en el escritorio y con Office Scripts en Excel para la web. Office Scripts usa TypeScript (JavaScript con tipos) y solo se ejecuta dentro de un libro abierto en la web, en Excel 2024 o en Microsoft 365. VBA es la opción clásica y funciona en todas las versiones de escritorio.

Característica VBA (escritorio) Office Scripts (web, 2024, 365)
Lenguaje Visual Basic for Applications TypeScript
Dónde se ejecuta Aplicación de escritorio Excel para la web, Excel 2024, Microsoft 365
Cómo se crea Programador > Grabar macro o editor Alt+F11 Automatizar > Nuevo script o grabadora de Scripts
Cómo se ejecuta Alt+F8 o atajo propio Automatizar > Ejecutar script
Guarda en el archivo Sí, como módulo dentro del .xlsm Sí, como script dentro del libro
Comparte con otros Con el archivo .xlsm Con el libro en OneDrive/SharePoint

La macro VBA que escribe la fecha en A1

Sub FechaEncabezado()
    Range("A1").Value = Date
    Rows(1).Font.Bold = True
End Sub

Al ejecutarla con Alt+F8, la celda A1 muestra la fecha del sistema (por ejemplo, 04/10/2026) y la fila 1 queda en negrita. Date es la fecha actual del sistema; Rows(1) apunta a la primera fila de la hoja activa.

A1: 04/10/2026
Fila 1: en negrita

El script de Office Scripts que hace lo mismo en la web

En Excel para la web, abre Automatizar > Nuevo script. Escribe este código en el editor:

function main(workbook: ExcelScript.Workbook) {
  let hoja = workbook.getActiveWorksheet();
  hoja.getRange("A1").setValue(new Date());
  hoja.getRange("A1:A1").getFormat().getFont().setBold(true);
}

Pulsa Guardar script y luego Ejecutar. A1 muestra la fecha actual y la celda queda en negrita. El script se guarda dentro del libro y se ejecuta cada vez que alguien lo lanza desde Automatizar o desde un flujo de Power Automate.

A1: 04/10/2026
A1: en negrita
Nota: en Office Scripts, getRange("A1") recibe el rango en inglés, igual que las propiedades y los métodos. No hay traducción al español: la API es la misma en todos los idiomas.

Por qué la macro no arranca al abrir el archivo en la web

Hay dos causas reales que detienen una macro cuando abres un .xlsm en Excel para la web. La primera es que el archivo dejó de tener macros al guardarlo; la segunda, que las macros están bloqueadas por seguridad.

El archivo es .xlsx y se borraron las macros al guardar

Si al guardar el libro en el escritorio elegiste *Libro de Excel (.xlsx)**, Excel muestra el aviso "Las siguientes características no se pueden guardar en un libro sin macros" y, al confirmar, elimina todos los módulos VBA. En Excel para la web, la cinta de macros desaparece porque ya no hay macros dentro del archivo.

Pasos para arreglarlo:

  1. Abre el archivo en el escritorio.
  2. Pulsa F12 y elige tipo *Libro de Excel habilitado para macros (.xlsm)**.
  3. Sube el .xlsm a OneDrive y vuelve a abrirlo en la web.
Comprueba: al abrir el archivo en la web, Alt+F11 desde el escritorio sigue mostrando los módulos. La cinta ya no ofrece un botón Macros porque la web no los ejecuta, pero el código sigue dentro del archivo.

El libro venía de internet y las macros están bloqueadas

Cuando abres un .xlsm descargado de internet, el escritorio muestra una barra amarilla con el mensaje "ADVERTENCIA DE SEGURIDAD: Las macros se han deshabilitado". En Excel para la web no aparece ese botón Habilitar contenido; el archivo se abre con las macros inactivas y no se pueden desbloquear desde el navegador.

Pasos para desbloquearlo:

  1. Cierra el archivo en la web.
  2. Ábrelo en el escritorio desde OneDrive > Abrir en aplicación de escritorio.
  3. Con la barra amarilla visible, pulsa Archivo > Información > Propiedades > Desbloquear (o usa el botón Habilitar contenido si la organización lo permite).
  4. Guarda el archivo y vuelve a subirlo a OneDrive para que la versión desbloqueada sea la que se abra en la web.
Cuidado: desbloquear macros de un archivo descargado de internet es una decisión de seguridad: el código VBA se ejecuta con tu usuario y puede leer y escribir archivos. Hazlo solo si confías en el origen del archivo.

Lo que Excel para la web no hace con VBA y cómo reemplazarlo

  • No ejecuta macros VBA: ni al abrir el archivo ni desde un botón. Para tareas equivalentes usa Office Scripts (Automatizar > Nuevo script) o Power Automate, que puede llamar a un script desde un flujo.
  • No edita código VBA: no hay editor de Visual Basic. Para modificar el código, abre el archivo en el escritorio con Alt+F11.
  • No graba macros VBA: la grabadora solo existe en el escritorio (Programador > Código > Grabar macro). En la web existe la grabadora de Office Scripts dentro de Automatizar.
  • No tiene la pestaña Programador: la cinta de la web no expone las herramientas de VBA. Trae Automatizar, Datos, Fórmulas, Revisar y Vista con un subconjunto de las opciones de escritorio.
  • No muestra el botón Macros: cualquier automatismo tiene que pasar por Automatizar > Ejecutar script o por un flujo que llame al script.

Qué sí trae la web para tareas equivalentes:

  • Office Scripts para automatizar tareas dentro del libro.
  • Power Query en la web para transformar datos de tablas y orígenes externos.
  • Tipos de datos (cotizaciones, geografía) desde el panel lateral.
  • Coautoración en tiempo real con varias personas a la vez sobre el mismo libro.

Lo que ya sabes hacer con macros y Excel para la web

  • Abrir un archivo .xlsm en Excel para la web y conservar las macros dentro del libro.
  • Ver y editar el código VBA en el escritorio pulsando Alt+F11.
  • Crear nuevas macros en el escritorio con la grabadora o escribiendo un Sub y guardando el archivo como .xlsm.
  • Crear la misma automatización en la web con Office Scripts desde Automatizar > Nuevo script.
  • Desbloquear macros de archivos descargados con Archivo > Información > Propiedades > Desbloquear en el escritorio.
  • Guardar siempre el archivo como *Libro de Excel habilitado para macros (.xlsm)** para no perder las macros al guardar.

Siguiente paso: graba una segunda macro en el escritorio que aplique formato a toda una tabla y, después, créala también como Office Scripts en Excel para la web. Así tendrás la misma tarea resuelta en los dos entornos y podrás compararlas.

Dudas al usar macros con Excel para la web

1. Cómo crear una macro en Excel paso a paso desde cero

Abre la pestaña Programador, pulsa Grabar macro, dale un nombre y elige dónde guardarla (Libro de macros personal para usarla siempre). Realiza las acciones que repetirás en tu trabajo, pulsa Detener grabación y quedará lista en la lista de macros. Luego la ejecutas con Ejecutar a o le asignas un atajo de teclado desde Opciones > Modificar.

2. Qué es una macro en Excel y para qué sirve

Una macro es un conjunto de acciones que Excel graba o que escribes en VBA para automatizar tareas repetitivas como dar formato, copiar datos o generar informes. Se guarda como código detrás de una hoja o en un archivo .xlsm. Sirve para convertir un trabajo de varios clics en un solo botón.

3. Cómo ejecutar una macro en Excel de forma automática al abrir un libro

En el Editor (Alt+F11), escribe el nombre del procedimiento como Sub Auto_Open() en Módulo1 para que se dispare al abrir el archivo. En versiones modernas usa el nombre Auto_Open o el evento Workbook_Open en ThisWorkbook, que es el método recomendado desde Excel 2010. Guarda el archivo como Libro habilitado para macros (.xlsm) para que el código se conserve.

4. Cómo descargar plantillas con macros para Excel y de dónde conseguirlas

La fuente oficial de plantillas gratuitas con código es la galería de Microsoft Office, en create.microsoft.com, todas firmadas y sin coste. Para ejemplos más avanzados, la documentación de learn.microsoft.com incluye libros de muestra descargables. Evita macros descargadas de foros o webs desconocidas, ya que pueden contener código dañino.

5. Dónde encontrar un tutorial de macros en Excel en PDF

Microsoft Learn permite descargar cada página como PDF desde su menú Imprimir > Guardar como PDF, y allí encontrarás la guía oficial de Introducción a VBA en español. Otra opción es exportar tu propio tutorial a PDF con el comando Exportar de Word tras copiar los pasos. Evita PDFs de blogs anónimos: el contenido cambia y la ayuda oficial siempre está actualizada.

6. Cómo crear una macro en Excel usando el editor de Visual Basic

Pulsa Alt+F11 (Option+F11 en Mac) para abrir el editor VBA y, en el menú Insertar > Módulo, escribe tu procedimiento empezando por Sub Nombre() y cerrando con End Sub. Cada línea entre medias es una acción en español con punto y coma, por ejemplo Range.Columns.AutoFit. Vuelve a Excel y ejecuta la macro desde Vista > Macros.

7. Qué son las macros en Excel y qué ejemplos prácticos tienen

Son instrucciones que automatizan tareas repetitivas y los ejemplos más comunes son aplicar formato a una columna, copiar datos entre hojas y generar informes mensuales. También valen para limpiar importes, enviar correos con un clic o crear tablas dinámicas predefinidas. Cualquier acción que hagas a mano más de dos veces es candidata a macro.

8. Cómo hacer una macro para automatizar tareas en un juego o aplicación externa

Excel solo automatiza lo que ocurre dentro del propio Excel o de Office, no puede tomar el control de un juego ni de una aplicación de terceros. Para eso existen herramientas específicas como AutoHotkey (Windows) o Actions en Mac, que sí envían teclas y clics a otros programas. Si tu juego expone una API, podrás usar VBA con CreateObject para comunicarte con ella, pero es un caso muy puntual.

Fuentes

  1. MicrosoftI need Macros or their equivalent that can run on online Excel …consultado el 07/10/2026
  2. MicrosoftExcel para la web (Excel online) — documentación oficialconsultado el 07/10/2026
  3. MicrosoftEl editor de VBA y la primera macro — documentación oficialconsultado el 07/10/2026
  4. MicrosoftAtajos que funcionan igual en cualquier idioma — documentación oficialconsultado el 07/10/2026
  5. MicrosoftFormatos de archivo de Excel — documentación oficialconsultado el 07/10/2026