Editor VBA

Cómo abrir y usar el editor de VBA en Excel: tu primera macro

octubre 9, 2026 Tuto Excel 13 min read
Cómo abrir y usar el editor de VBA en Excel: tu primera macro

El editor VBA de Excel es la herramienta con la que escribes y revisas las macros que automatizan tareas repetitivas en una hoja. Al terminar este tutorial sabrás activar la pestaña Programador, abrir el editor, escribir una macro sencilla que escribe un saludo y rellena una columna, ejecutarla y guardar el libro sin perderla. Funciona en Microsoft 365, Excel 2024, 2021, 2019 y 2016 de escritorio; Excel para la web no incluye el editor VBA.

Qué es el editor VBA y para qué te sirve en Excel

Imagina una hoja de ventas a la que cada lunes le borras la columna auxiliar de cálculos y le pones los totales actualizados. Lo haces a mano: copiar el rango, pegar en otra columna, escribir la fórmula del IVA, arrastrar el controlador de relleno, borrar lo que sobraba. Son ocho clics que repites igual cada semana.

Una macro de VBA hace ese trabajo en un solo clic. Y el editor VBA es el sitio donde se escribe esa macro, se lee lo que hace y se corrige cuando falla. No es un programa aparte: vive dentro de Excel y se abre con un atajo de teclado.

La diferencia con la grabadora de macros es importante. La grabadora (Programador > Grabar macro) registra lo que haces con el ratón y escribe el código por ti. Está bien para empezar, pero genera líneas de más y no siempre produce lo que necesitas. El editor deja leer lo que grabó la grabadora, reescribirlo y, con el tiempo, escribirlo desde cero. Es la diferencia entre usar una receta ya hecha y aprender a cocinar: al principio sigues la receta, luego la cambias a tu gusto.

El editor también vale para leer macros que te pasan otras personas, entender qué hacen y adaptarlas a tu hoja sin miedo a romper nada. Por eso es la pieza central de la automatización en Excel.

Activar la pestaña Programador y abrir el editor

La pestaña Programador viene oculta por defecto. El primer paso es mostrarla; el segundo, abrir el editor desde ella o con un atajo que funciona siempre.

  1. Abre Excel y ve a Archivo > Opciones. Se abre el cuadro Opciones de Excel.
  2. En la columna izquierda, pulsa Personalizar cinta de opciones.
  3. En la lista de Pestañas principales de la derecha, marca la casilla Programador.
  4. Pulsa Aceptar. La pestaña Programador aparece al final de la cinta.
  5. Pulsa Programador > Código > Visual Basic. Se abre el editor de VBA.
ArchivoOpcionesPersonalizar cinta de opciones
ProgramadorCódigoVisual Basic

También puedessaltar el paso de la pestaña y abrir el editor directamente con Alt+F11 (en Mac, Opt+F11 o Fn+Opt+F11 según el teclado). El atajo funciona aunque la pestaña Programador siga oculta, porque abre el editor por su cuenta.

Nota: Alt+F11 alterna entre Excel y el editor: púlsalo otra vez para volver a la hoja sin cerrar nada.

Las cuatro zonas del editor que vas a usar

Cuando se abre el editor por primera vez, la pantalla tiene cuatro zonas que conviene reconocer antes de escribir nada.

Arriba está la barra de menús y, debajo, la barra de herramientas con los botones más usados (ejecutar, guardar, cortar, pegar). Es como la cinta de Excel, pero en el editor.

A la izquierda aparece el Explorador de proyectos. Muestra un árbol con todos los libros abiertos: cada VBAProject contiene Microsoft Excel Objetos (las hojas y el libro ThisWorkbook), Módulos (donde se escriben las macros normales) y, si los hay, Formularios (ventanas personalizadas con botones y listas). Las macros que escribas en un módulo son las que verás en la lista de Macros de Excel.

En el centro se abre la ventana de Código: un editor de texto con números de línea y coloreado de palabras clave. Escribes aquí dentro de cada módulo.

Abajo, la ventana Inmediato sirve para probar una línea suelta sin escribir un Sub entero: escribes ?Range("A1").Value y pulsas Entrar, y debajo aparece el valor de la celda A1. Es útil para experimentar.

Zona Para qué sirve Atajo útil
Barra de menús y herramientas Abrir, guardar, ejecutar Ctrl+S guarda el proyecto
Explorador de proyectos Ver hojas, módulos y formularios Ctrl+R lo muestra u oculta
Ventana de Código Escribir y leer las macros F5 ejecuta la Sub donde está el cursor
Ventana Inmediato Probar una línea suelta Ctrl+G lleva el cursor allí
Nota: Excel para la web abre el libro .xlsm pero no muestra ni ejecuta el editor VBA; para automatizar allí se usan los Scripts de Office.

Escribir y ejecutar tu primera macro

Vamos a crear un libro nuevo, escribir una macro que ponga "Hola" en A1 y la ejecute. Necesitas un libro guardado como .xlsm, porque las macros solo viven en ese formato.

  1. Abre un libro en blanco y ve a Archivo > Guardar como.
  2. Elige la carpeta y, en Tipo, selecciona Libro de Excel habilitado para macros (*.xlsm). Ponle de nombre MisMacros.xlsm y guarda.
  3. Pulsa Alt+F11 para abrir el editor.
  4. En el Explorador de proyectos, haz clic derecho sobre VBAProject (MisMacros.xlsm) y elige Insertar > Módulo. Aparece Módulo 1 en el árbol y su ventana de Código en el centro.
  5. Escribe este código en la ventana de Código:

Sub Saludo()
    Range("A1").Value = "Hola"
    MsgBox "Listo"
End Sub
  1. Coloca el cursor dentro de la Sub y pulsa F5. Vuelve a Excel y verás "Hola" en A1; también habrá salido una ventana con el mensaje Listo. Pulsa Aceptar.

Para ejecutarla desde la hoja, sin abrir el editor: Programador > Código > Macros, elige Saludo en la lista y pulsa Ejecutar.

ProgramadorCódigoMacros
Comprueba: la celda A1 contiene la palabra Hola y la ventana de mensaje ha dicho Listo. Si A1 está vacía, la macro no se ha ejecutado: vuelve al editor, asegúrate de que el cursor está entre Sub y End Sub y pulsa F5 otra vez.

El mismo cálculo escrito a mano en una celda

Para que la macro se parezca a un caso real, la vamos a comparar con la fórmula que escribirías a mano. En la hoja MisMacros.xlsm, monta esta tabla de ventas:

C2fx=B2*1,21
A B C
1 Ventas IVA Total
2 Cuadernos 50,00 60,50
3 Bolígrafos 12,30 14,88
4 Mochilas 80,00 96,80
5 Carpetas 15,50 18,76
6 Lápices 4,20 5,08
Ventas

Cada celda de la columna C multiplica la fila por 1,21 (el IVA). Lo que harías arrastrando el controlador de relleno desde C2 hasta C6, la macro lo puede hacer de golpe. Vuelve al editor, añade una segunda Sub en el mismo módulo y ejecútala con F5:

Sub CalcularIVA()
    Range("C2:C6").Formula = "=B2*1.21"
End Sub

=B2*1,21
Cuidado: la fórmula dentro de VBA va en INGLÉS y con comas como separador decimal, aunque tu Excel esté en español. Si escribes =B2*1,21 o =B2*1.21; con punto y coma, la macro falla con el error 1004. Cuando la celda se rellena, sí se adapta a tu idioma: en la hoja verás =B2*1,21.
Comprueba: la columna C se ha rellenado con 60,50, 14,88, 96,80, 18,76 y 5,08, y al pulsar sobre C2 la barra de fórmulas muestra =B2*1,21 (no la versión en inglés).

Guardar y abrir tu libro con macros sin perderlas

Una macro solo sobrevive si el libro se guarda en el formato correcto. Esto es lo que tienes que hacer y lo que tienes que evitar.

  1. Con el libro MisMacros.xlsm abierto, ve a Archivo > Guardar o pulsa Ctrl+S. Como ya es .xlsm, Excel lo guarda sin preguntar.
  2. La próxima vez, al pulsar Ctrl+S directamente, Excel mantiene el formato y conserva las macros.
  3. Cierra Excel y vuelve a abrir MisMacros.xlsm haciendo doble clic desde la carpeta. Las macros siguen ahí: pulsa Alt+F11 y aparecerán en Módulo 1.
ArchivoGuardar como
Nota: si al abrir un .xlsm descargado de internet ves un mensaje de "Macros deshabilitadas" con una barra amarilla, pulsa Habilitar contenido. Si no, pulsa Archivo > Información > Propiedades > Desbloquear y abre el libro otra vez. Sin ese paso, las macros del libro están bloqueadas.

Si en algún momento guardas con Archivo > Guardar como y eliges Libro de Excel (*.xlsx) en vez de .xlsm, Excel te avisa de que se perderán las macros. Es la causa más frecuente de "se me ha borrado la macro": se guardó en el formato equivocado.

Comprueba: abre el .xlsm desde la carpeta, pulsa Alt+F11 y comprueba que Sub Saludo y Sub CalcularIVA siguen en Módulo 1. Si no están, el archivo es en realidad un .xlsx renombrado.

Los errores típicos al empezar y cómo arreglarlos

"Error 1004 en tiempo de ejecución" al asignar una fórmula

Lo que se ve: una ventana con el texto "Se ha producido el error '1004' en tiempo de ejecución: error definido por la aplicación o por el objeto" y la macro se detiene.

La causa casi siempre es una de estas dos: la fórmula está en español (con nombres como SUMA, BUSCARV, CONTAR) o usa punto y coma en vez de comas. VBA, al asignar la propiedad .Formula, espera los nombres en inglés y la coma como separador decimal, sea cual sea el idioma de tu Excel.

El arreglo: cambia la fórmula a inglés y comas dentro de la macro. Por ejemplo, =SUMA(A1:A10) se convierte en =SUM(A1:A10). La celda, al recibir la fórmula, la traduce al idioma de tu Excel y la muestra como esperas. Si prefieres escribir la fórmula en español, usa la propiedad .FormulaLocal en vez de .Formula.

La macro no aparece en la lista de Macros

Lo que se ve: al pulsar Programador > Código > Macros, la lista está vacía o no incluye la macro que acabas de escribir.

La causa: la Sub está dentro de un módulo de Hoja (los que cuelgan de Microsoft Excel Objetos, por ejemplo Hoja1), no en un módulo estándar. Excel solo lista las macros que están en módulos estándar, en ThisWorkbook o asignadas a un botón.

El arreglo: arrastra la Sub desde el módulo de hoja hasta Módulo 1 en el Explorador de proyectos, o cópiala y pégala en un módulo estándar. La grabadora de macros siempre crea módulos estándar, así que si empiezas grabando te asegurarás de que aparece en la lista.

La macro se borró al guardar el libro

Lo que se ve: abres el .xlsm y la macro ya no está.

La causa: el libro se guardó como .xlsx (Libro de Excel normal) en vez de .xlsm. El formato .xlsx no admite macros y las elimina al guardar, aunque el archivo se llame igual.

El arreglo: ve a Archivo > Guardar como y cambia el Tipo a Libro de Excel habilitado para macros (*.xlsm). Si ya guardaste como .xlsx, las macros se han perdido: toca volver a escribirlas o recuperarlas de una copia de seguridad anterior.

Lo que ya sabes hacer con el editor VBA y el siguiente paso

  • Activar la pestaña Programador y abrir el editor VBA con Alt+F11.
  • Reconocer las cuatro zonas del editor: menús, Explorador de proyectos, ventana de Código y ventana Inmediato.
  • Insertar un módulo estándar y escribir una Sub que escribe un valor y rellena un rango con una fórmula.
  • Ejecutar la macro desde el editor con F5 y desde la hoja con Programador > Código > Macros.
  • Guardar el libro como .xlsm para no perder las macros al cerrar.

El siguiente paso natural es dejar que la grabadora haga el trabajo pesado: pulsa Programador > Código > Grabar macro, haz las acciones en la hoja (escribir Hola en A1, por ejemplo), detén la grabación y abre Alt+F11. Verás el código que ha escrito la grabadora, con líneas de más que podrás borrar poco a poco. Así es como se pasa de usar el editor a entenderlo.

{ "datos": [ { "pais": "todos", "dato": "atajo para abrir el editor", "valor": "Alt+F11", "ano": "", "fuente": "" }, { "pais": "todos", "dato": "atajo Mac para abrir el editor", "valor": "Opt+F11 / Fn+Opt+F11", "ano": "", "fuente": "" }, { "pais": "todos", "dato": "formato para guardar macros", "valor": ".xlsm", "ano": "", "fuente": "" }, { "pais": "todos", "dato": "error típico en tiempo de ejecución", "valor": "1004", "ano": "", "fuente": "" } ], "faq_heading": "Dudas al empezar con el editor VBA de Excel" }

Preguntas frecuentes

1. Alt+F11 no me abre el editor de VBA, ¿qué puede pasar?

Lo más habitual es que la pestaña Programador no esté activada, así que Alt+F11 parece no hacer nada. Actívala en Archivo > Opciones > Personalizar cinta de opciones marcando Programador. Si aun así no responde, prueba a reiniciar Excel y vuelve a pulsar la combinación.

2. ¿Se puede usar el editor de VBA en una versión online de Excel?

No. El editor VBA solo está en Excel de escritorio para Windows y Mac; Excel para la web no ejecuta macros. En la web puedes automatizar tareas con Office Scripts, que es otra herramienta distinta.

3. ¿Qué es exactamente el editor de VBA en Excel?

Es la aplicación donde escribes y guardas macros en lenguaje VBA, integrado en Excel de escritorio. Lo abres con Alt+F11 (o Fn+F4+F11 en Mac, según idioma) y desde ahí escribes Sub…End Sub y pulsas F5 para ejecutar tu primera macro.

4. ¿Cuál es el atajo para abrir VBA en Excel?

El atajo estándar es Alt+F11 en Windows; al pulsarlo se muestra (o se cierra) la ventana del editor de VBA. Si tu Mac usa F como tecla de función, prueba Fn+Alt+F11; tras unos segundos aparecerá el editor.

5. ¿Hay que descargar algo aparte para usar el editor de VBA?

No hace falta descargar nada: el editor viene integrado en Excel de escritorio para Windows. Solo necesitas tener el archivo guardado como Libro habilitado para macros (.xlsm) si quieres conservar tu código al cerrar.

6. ¿Cómo abro el editor de VBA en Excel para Windows?

Pulsa Alt+F11 y se abrirá la ventana de Microsoft Visual Basic for Applications con el árbol de proyectos a la izquierda. Si no responde, activa antes la pestaña Programador en Archivo > Opciones > Personalizar cinta de opciones.

7. ¿El editor de VBA también está en PowerPoint?

Sí, PowerPoint de escritorio incluye el mismo editor VBA. Lo abres con Alt+F11 igual que en Excel y desde ahí puedes automatizar diapositivas o crear pequeños formularios como guías de referencia.

8. ¿Y en Word también hay un editor de VBA?

Sí, Word de escritorio incluye VBA con el mismo acceso: Alt+F11 abre el editor y, por ejemplo, una que ajuste la sangría de todos los títulos del documento en una sola pasada.

Fuentes

  1. MicrosoftEl editor de VBA y la primera macro — documentación oficialconsultado el 05/10/2026
  2. MicrosoftLAMBDA — documentación oficialconsultado el 05/10/2026
  3. MicrosoftRange.Formula, FormulaLocal, FormulaR1C1 y FormulaR1C1Local — documentación oficialconsultado el 05/10/2026
  4. MicrosoftAtajos que funcionan igual en cualquier idioma — documentación oficialconsultado el 05/10/2026
  5. MicrosoftPY — documentación oficialconsultado el 05/10/2026