5.5 · Automatización: macros VBA

Nivel 5 · Multiproyectos, colaboración y automatización

5.5Automatización: macros VBA

Objetivo: Automatizar tus tareas repetitivas en Project (grabación y edición VBA) para un ahorro de tiempo duradero en la herramienta.
Tiempo estimado: 14 min · lectura autónoma · Si solo tienes 5 min: lee «Lo esencial en 30s» + el esquema.

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.

Error frecuente de interpretación: «Hay que ser desarrollador para automatizar; conviene programar VBA antes de probar la grabadora; toda acción merece una macro». No, triple error. La grabadora de macros automatiza sin escribir una línea: es el punto de entrada accesible a todos. Es inútil programar primero: empieza grabando y luego observa y modifica el código. Y no se automatiza una acción hecha una sola vez: una macro se rentabiliza por la repetición. Por lo demás, VBA reutiliza las competencias de Excel y Word.
Automatizar con VBA Grabar acciones sin programar y luego editar el código para ir más lejos. Grabadora Capturaracciones (sin programar)Repetir En otrosproyectosEditor VBA Leer, modificarel código (Alt+F11)Tratamientos masivos Informesa medida
Grabar acciones sin programar y luego editar el código para ir más lejos.
Versión en texto del esquema (SEO / lectores de pantalla / traducción): 1) Meriem, jefa de proyecto en una empresa de ingeniería y construcción en Argel, repite la misma preparación en cada frente: formato estándar, filtro por fase, vista para el comité. 2) Activa la pestaña Programador y graba una macro: realiza las acciones una vez, Project captura el código, que repite en otro frente (automatizar sin programar). 3) Después abre el editor VBA (Alt+F11) para leer y modificar el código, y luego lo asocia a un botón; la automatización sirve a los tratamientos masivos y a los informes a medida recurrentes. Lección: empezar por la grabadora y luego editar VBA para automatizar lo que se repite — con la mayor prudencia en la ejecución de código.

🔎 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

  1. Activa la pestaña Programador (Archivo > Opciones > Personalizar la cinta) para acceder a las herramientas de macros.
  2. Graba una macro: lanza la grabadora, efectúa una tarea repetitiva (filtro + formato) y detenla.
  3. Repite la macro en otro proyecto y constata el ahorro de tiempo; abre el editor VBA (Alt+F11) para leer el código.
  4. Modifica ligeramente el código (p. ej. cambiar un parámetro) para adaptarlo y asocia la macro a un botón para reutilizarla.
Automatizas tus tareas repetitivas en Project (grabación y edición VBA): un ahorro de tiempo duradero en la herramienta, al servicio de la dirección.

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.

Prudencia: Recordatorio genérico: las macros VBA son código ejecutado en la aplicación. Activa y ejecuta únicamente macros de origen fiable, abre los proyectos con prudencia y respeta los ajustes de seguridad de macros definidos por tu organización. Un archivo puede transportar macros: no las lances sin haberlas entendido, prueba sobre una copia y guarda antes de cualquier automatización. Esta guía presenta principios generales y no constituye un consejo en seguridad informática.

✓ 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.

Lista de salida de la sección
  • 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.
Autoevaluación 1-5: ¿distingo la grabadora del editor VBA?Autoevaluación 1-5: ¿he automatizado un gesto repetitivo real?

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.

Comprueba tu comprensión

¿Cómo automatizar una tarea repetitiva en Project?

Recursos adicionales (opcional, para ir más allá)

Examen del nivel 5Preguntas inéditas y más difíciles para validar tus conocimientos