5.5Automatización: macros VBA
Lo esencial en 30 segundos
- Project se automatiza con VBA (Visual Basic for Applications), el mismo lenguaje de macros que Excel o Word: una competencia reutilizable.
- La grabadora de macros es el punto de entrada sin código: captura una secuencia de acciones (formato, filtro, vista) y la repite a voluntad.
- El editor VBA (Alt+F11) permite después leer, escribir y modificar código para manipular el modelo de objetos: tratamientos masivos e informes a medida.
Mini-caso hilado — Meriem automatiza sus formatos repetitivos
Meriem, jefa de proyecto en una empresa de ingeniería y construcción (BTP) en Argel, aplica a cada nuevo frente la misma preparación: un formato estándar, un filtro por fase y una vista dedicada para el comité. Esta secuencia de acciones le lleva tiempo y a veces la olvida. Activa la pestaña Programador y graba una macro: realiza las acciones una vez y Project captura el código. Después repite la macro en otro frente y mide la ganancia. Curiosa, abre el editor VBA (Alt+F11) para leer el código, modifica un parámetro y luego asocia la macro a un botón. No programa un software: automatiza un gesto repetitivo, sin ser desarrolladora.
Caso autónomo de esta sección: vuelve en el curso, el esquema, el guion y el reto 48 h de la sección 5.5.
1. La grabadora de macros
Para las tareas repetitivas, Project es automatizable con VBA (Visual Basic for Applications), el mismo lenguaje de macros que Excel o Word. El punto de entrada sin código: la grabadora de macros, que captura una secuencia de acciones (formato, filtro, vista) y la repite a voluntad. Meriem obtiene así un código que luego puede releer y modificar: es la forma más sencilla de automatizar sin ser desarrollador.
2. Editar VBA
Yendo más lejos, se escriben o editan macros en el editor VBA (Alt+F11) para manipular el modelo de objetos de Project: recorrer las tareas, modificar campos en masa, producir un informe a medida. Automatizar tus tareas repetitivas es el último peldaño del recorrido: ganar tiempo en la herramienta para concentrarse en la dirección. Meriem modifica, por ejemplo, un parámetro del código generado y luego asocia la macro a un botón.
3. Automatizar lo que se repite
La regla de oro: automatizar lo que es repetitivo y rentabilizado por la repetición. Una macro para una acción hecha una sola vez no tiene interés; para un gesto semanal (formato estándar, exportación de informes, renumeración en masa), ahorra un tiempo precioso y evita errores. Meriem empieza siempre por la grabadora, observa el código generado para aprender y luego automatiza progresivamente lo que vuelve a menudo.
🔎 Ejemplo concreto — 🔎 Ejemplo concreto — Del sin-código al código
Meriem automatiza una preparación repetitiva, primero sin programar:
Grabar: filtro + formato, una vez → código generado.
Repetir en otro proyecto y luego Alt+F11 para leer el código.
→ modificar un parámetro, asociar la macro a un botón.
Resultado: un ahorro de tiempo duradero al servicio de la dirección.
Reflejo: VBA = mismo lenguaje que Excel/Word (competencia reutilizable).
Vocabulario de la sección
- VBA
- Visual Basic for Applications: lenguaje de macros común a las aplicaciones Office, que permite automatizar Project.
Ejemplo sencillo: Meriem automatiza su formato repetitivo en VBA.
Lo que no es: creer que Project no es automatizable.
Reflejo: VBA = competencia reutilizable (Excel/Word).
- Grabadora de macros
- Herramienta que captura una secuencia de acciones para repetirla; produce código VBA sin tener que escribirlo.
Ejemplo sencillo: Meriem graba filtro + formato de una vez.
Lo que no es: querer programar antes de probar la grabadora.
Reflejo: grabar = automatizar sin programar.
- Macro
- Programa que automatiza una tarea repetitiva (formato, filtro, exportación, tratamiento masivo).
Ejemplo sencillo: Meriem repite su macro en otro frente.
Lo que no es: lanzar una macro de origen desconocido sin prudencia.
Reflejo: automatizar lo que se repite.
- Editor VBA
- Entorno (Alt+F11) donde se lee, escribe y ejecuta el código de las macros.
Ejemplo sencillo: Meriem abre Alt+F11 para modificar un parámetro.
Lo que no es: no mirar nunca el código generado.
Reflejo: leer el código para aprender.
- Modelo de objetos
- Estructura programable de Project (Proyectos, Tareas, Recursos, Asignaciones…) manipulable en VBA.
Ejemplo sencillo: Meriem recorre las tareas para un tratamiento masivo.
Lo que no es: modificar cada tarea a mano.
Reflejo: el modelo de objetos permite los tratamientos masivos.
En la práctica — En la práctica — Automatizar con macros VBA
- Activa la pestaña Programador (Archivo > Opciones > Personalizar la cinta) para acceder a las herramientas de macros.
- Graba una macro: lanza la grabadora, efectúa una tarea repetitiva (filtro + formato) y detenla.
- Repite la macro en otro proyecto y constata el ahorro de tiempo; abre el editor VBA (Alt+F11) para leer el código.
- Modifica ligeramente el código (p. ej. cambiar un parámetro) para adaptarlo y asocia la macro a un botón para reutilizarla.
Guion paso a paso — automatizar como Meriem (10 min)
1) Activa la pestaña Programador. 2) Lanza la grabadora de macros y dale un nombre. 3) Efectúa la tarea repetitiva (p. ej. filtro + formato de Meriem). 4) Detén la grabación. 5) Repite la macro en otro proyecto y mide la ganancia. 6) Abre el editor VBA (Alt+F11), lee el código, modifica un parámetro y asocia la macro a un botón. Prudencia: prueba sobre una copia del archivo.
Empieza grabando, observa el código y modifícalo poco a poco: no hace falta ser desarrollador para empezar.
Plantilla copiar y pegar — mi macro paso a paso
Pestaña Programador: activada (Archivo > Opciones > Personalizar la cinta)
Acciones grabadas: ___ (p. ej. filtro por fase + formato)
Nombre de la macro: ___
Repetida en: ___ (otro proyecto) → ganancia: ___
Editor VBA (Alt+F11): parámetro modificado ___ · botón asociado ___
Regla: grabar primero · editar después · automatizar lo que se repite · probar sobre una copia.
Formato estándar
Meriem graba una macro que aplica el mismo formato a cada frente.
Filtro recurrente
Meriem automatiza un filtro por fase que rehace en cada reunión de avance.
Informe a medida
Meriem edita el VBA para generar una tabla de resumen personalizada.
Tratamiento masivo
Meriem modifica un campo en cientos de tareas de una vez con una macro.
✓ Buenas prácticas
- Empezar por la grabadora (sin programar) y luego editar el VBA.
- Observar el código generado para aprender progresivamente.
- Automatizar lo que es repetitivo y rentabilizado por la repetición.
✗ Errores frecuentes
- Querer programar VBA antes de haber probado la grabadora.
- Automatizar una acción hecha una sola vez (no rentable).
- Olvidar que VBA reutiliza las competencias de Excel/Word.
Puntos clave
- Project se automatiza en VBA (mismo lenguaje de macros que Excel/Word).
- La grabadora de macros captura acciones y las repite: automatizar sin programar.
- El editor VBA permite escribir/modificar macros que manipulan el modelo de objetos.
- Ideal para tratamientos masivos e informes a medida recurrentes.
Reto 48 h — aplícalo mañana
Como Meriem, graba UNA macro para una tarea que repitas (formato, filtro, vista), repítela en otro proyecto y luego abre el editor VBA (Alt+F11) para leer el código y modificar un parámetro. Asocia la macro a un botón. Prueba sobre una copia del archivo.
- Puedo explicar qué es VBA en Project.
- Sé grabar una macro sin escribir código.
- Sé leer y modificar código en el editor VBA para ir más lejos.
Preguntas frecuentes
¿Hay que saber programar para usar macros VBA?
No para empezar. La grabadora de macros permite automatizar sin escribir una línea: realizas las acciones una vez, Project las graba en código y las repites. Es suficiente para muchas tareas repetitivas. Para ir más lejos (tratar tareas en masa, lógica condicional), hay que leer y modificar el código VBA, lo que exige un aprendizaje progresivo. VBA es el mismo lenguaje que en Excel y Word.
¿Cuáles son los casos de uso típicos de una macro en Project?
Todo lo repetitivo: aplicar un formato estándar a cada nuevo proyecto; renumerar o reclasificar tareas en masa; generar una tabla de resumen o una exportación personalizada en cada punto de avance; modificar un campo en cientos de tareas de una vez. A mano, estas operaciones llevan tiempo y son propensas a errores; una macro las ejecuta en segundos. El retorno se juzga por la repetición.
¿Cómo automatizar una tarea repetitiva en Project?