Grabó una macro en Word con el grabador integrado, pero los pasos registrados no coinciden con lo que necesita. El Grabador de macros crea código VBA basado en sus clics y pulsaciones de teclas, y ese código suele incluir selecciones innecesarias o valores fijos. Para cambiar el comportamiento de la macro, debe abrir el editor de Visual Basic for Applications y modificar el código directamente. Este artículo explica los pasos exactos para localizar, abrir y editar una macro en el editor de VBA, y cubre los cambios de código comunes que los usuarios necesitan realizar.
Puntos clave: Editar una macro en el editor de VBA
- Alt + F11: Abre el editor de VBA directamente desde Word.
- Panel Explorador de proyectos: Muestra todos los documentos abiertos y sus módulos de macros; haga doble clic en un módulo para ver su código.
- Ver > Macros > Seleccionar macro > Editar: Ruta alternativa para abrir el editor de VBA con el código de la macro seleccionada visible.
Qué hace el editor de VBA y qué necesita antes de editar
El editor de Visual Basic for Applications es una ventana independiente dentro de Word que le permite leer, escribir y cambiar código VBA. Cada macro que graba o escribe manualmente se almacena en un módulo de código dentro de un documento o plantilla. Cuando graba una macro, Word escribe instrucciones VBA que reflejan sus acciones, pero el grabador agrega líneas adicionales como Selection.GoTo o Selection.TypeText que ralentizan la macro y la hacen frágil. Editar la macro en el editor de VBA elimina esas líneas redundantes y le permite agregar lógica, bucles y condicionales.
Antes de editar una macro, necesita saber el nombre de la macro y dónde está almacenada. Las macros se pueden guardar en el documento actual, en la plantilla Normal.dotm o en otra plantilla global. También necesita familiaridad básica con la sintaxis de VBA, como comprender que las líneas que comienzan con un apóstrofo son comentarios y que Sub marca el inicio de un procedimiento. Word no requiere permisos especiales para abrir el editor de VBA, pero si su organización bloquea las macros mediante Directiva de grupo, no podrá editarlas ni ejecutarlas.
Pasos para abrir y editar una macro en el editor de VBA
Los siguientes pasos usan el atajo de teclado Alt + F11 para abrir el editor. Este método funciona en Word para Microsoft 365, Word 2021, Word 2019 y Word 2016 en Windows 10 y Windows 11. Si prefiere la ruta de la cinta de opciones, use Ver > Macros, seleccione la macro y haga clic en Editar.
- Abrir el editor de VBA
Presione Alt + F11 en el teclado. Aparece la ventana del editor de VBA. Si ya tiene una macro grabada, el editor se abre con un árbol de proyecto en blanco. No cierre Word. - Localizar el módulo de la macro en el Explorador de proyectos
Observe el panel Explorador de proyectos en el lado izquierdo del editor de VBA. Si no lo ve, presione Ctrl + R para mostrarlo. Expanda el proyecto que coincida con su documento abierto. Por ejemplo, si su documento se llama Report.docx, expanda Project (Report.docx). Luego expanda la carpeta Módulos. Verá Module1 o un módulo con el nombre de su macro. - Abrir el módulo que contiene su macro
Haga doble clic en el nombre del módulo en el Explorador de proyectos. La ventana de código del lado derecho muestra el código VBA. Si grabó una macro llamada FormatText, verá un procedimiento Sub que comienza conSub FormatText()y termina conEnd Sub. - Editar el código de la macro
Haga clic dentro de la ventana de código y realice sus cambios. Las ediciones comunes incluyen eliminar líneasSelection.GoTo, reemplazar tamaños de fuente fijos con variables o agregar un bucle para procesar varios párrafos. Cuando termine de editar, presione Ctrl + S para guardar el módulo. La macro ahora está actualizada en el documento. - Probar la macro desde Word
Vuelva a Word presionando Alt + F11 de nuevo o haciendo clic en la ventana de Word. Ejecute la macro usando Ver > Macros, seleccione el nombre de la macro y haga clic en Ejecutar. Compruebe que el resultado coincida con su código editado. Si la macro falla, vuelva al editor de VBA y verifique la sintaxis.
Editar una macro almacenada en la plantilla Normal.dotm
Si grabó la macro en la plantilla Normal.dotm para que esté disponible en todos los documentos, el módulo aparece en Project (Normal). Expanda Project (Normal) > Módulos y haga doble clic en el módulo. Los cambios en Normal.dotm afectan a todos los documentos nuevos que usan esa plantilla. Tenga cuidado al editar macros de Normal.dotm porque un error puede romper las macros de todos sus documentos.
Editar una macro asignada a un botón o a un atajo de teclado
Si asignó la macro a un botón de la Barra de herramientas de acceso rápido o a un atajo de teclado, editar el código no cambia la asignación. Después de editar el código, el botón o el atajo siguen llamando al mismo nombre de macro. No necesita reasignar la macro a menos que cambie su nombre.
Errores comunes al editar macros y cómo evitarlos
El editor de VBA muestra un error de compilación cuando intento ejecutar la macro
Un error de compilación significa que el código VBA contiene un error de sintaxis. Las causas comunes incluyen un Next faltante para un bucle For, un error tipográfico en el nombre de una variable o un End If faltante. El editor de VBA resalta la línea con el error. Revise esa línea y las líneas inmediatamente anteriores. Corrija el error tipográfico o agregue la palabra clave faltante, luego presione Ctrl + S e inténtelo de nuevo.
La macro deja de funcionar después de editarla, pero no aparece ningún error
Si la macro se ejecuta pero no hace nada, es probable que el código contenga un error de lógica. Por ejemplo, puede haber cambiado un contador de bucle a un valor que nunca coincide, o eliminado una línea que seleccionaba el rango correcto. Para depurar, agregue un punto de interrupción haciendo clic en el margen izquierdo junto a una línea. Ejecute la macro; se pausa en el punto de interrupción. Presione F8 para recorrer cada línea y observar los valores en la ventana Inmediato (presione Ctrl + G para abrirla).
No puedo ver el Explorador de proyectos ni la ventana de código
Si el editor de VBA se abre pero solo muestra un área gris, presione Ctrl + R para mostrar el Explorador de proyectos. Si falta la ventana de código, haga doble clic en un módulo del Explorador de proyectos. Si la lista de módulos está vacía, aún no ha grabado ni creado ninguna macro. Cierre el editor, grabe una macro en Word y vuelva a abrir el editor.
Cinta del editor de VBA vs atajos de teclado: diferencias de navegación
| Elemento | Ruta de la cinta (pestaña Ver) | Atajo de teclado |
|---|---|---|
| Abrir el editor de VBA | Ver > Macros > Ver macros > Seleccionar macro > Editar | Alt + F11 |
| Mostrar el Explorador de proyectos | En el editor de VBA: Ver > Explorador de proyectos | Ctrl + R |
| Mostrar la ventana Inmediato | En el editor de VBA: Ver > Ventana Inmediato | Ctrl + G |
| Recorrer el código línea por línea | En el editor de VBA: Depurar > Paso a paso por instrucciones | F8 |
| Guardar los cambios del módulo | En el editor de VBA: Archivo > Guardar (nombre del documento) | Ctrl + S |
Ahora puede abrir el editor de VBA, localizar cualquier módulo de macro y modificar el código VBA para eliminar líneas redundantes o agregar lógica. Practique editando una macro grabada sencilla eliminando las líneas Selection.GoTo y reemplazándolas con referencias directas a objetos. Use la ventana Inmediato con Ctrl + G para probar fragmentos de código pequeños antes de agregarlos a su macro.