Ya tenés las piezas: grabar, leer y retocar código, decidir y repetir. Hoy las juntás en lo que de verdad cambia tu semana: ese reporte que armás siempre igual —bajar la exportación, borrar columnas, limpiar, marcar, formatear, resumir— convertido en una macro que lo hace entero.
01La idea en una frase
Una automatización real no es una macro gigante: son varias macros chicas —una por etapa— y una "directora" que las llama en orden. Limpiar, marcar, formatear: cada una probada por separado, todas ejecutadas juntas.
02El ejemplo: la macro directora
Tres macros chicas (una grabada, dos escritas) y la directora que las llama en orden. Así se ve un proceso completo:
Sub GenerarReporte()
Call LimpiarDatos '1. borra columnas y filas vacías
Call MarcarGastosAltos '2. el bucle de la clase 3
Call FormatearReporte '3. la grabada en la clase 1
MsgBox "Reporte listo ✔"
End Sub
Y el efecto en tu semana:
Fijate el detalle de las líneas con ': son comentarios — notas para vos mismo que VBA ignora. Dentro de seis meses, cuando abras este código, te vas a agradecer cada uno.
03Cómo lo hacés vos
- Escribí el proceso en papel (o en un bloc): las etapas, en orden, como se las explicarías a un ayudante nuevo. Ese texto ES el diseño de tu macro.
- Resolvé cada etapa por separado: lo visual y repetitivo, grabalo (clase 1); lo que decide o recorre filas, escribilo (clase 3). Una macro chica por etapa, con nombre claro.
- Probá cada una sola con F5/F8 sobre datos de prueba, hasta que haga exactamente lo suyo.
- Armá la directora: un
Sub GenerarReporte()que las llame conCallen orden, y unMsgBoxfinal para saber que terminó. - Probá el conjunto SOBRE UNA COPIA del archivo real del mes pasado. Si el resultado es idéntico al que hacías a mano: lista para el próximo mes.
- El mes siguiente la exportación vino "distinta": una columna nueva o corrida rompe todo. Antes de correr la macro, verificá que los encabezados estén donde ella espera (podés hacer que la propia macro lo chequee con un
If). - La macro trabajó sobre la hoja equivocada: dependía de "la hoja activa". Nombrá la hoja explícitamente:
Worksheets("Datos").Cells(...). - Corriste la macro dos veces y duplicó cosas: las macros no saben que "ya pasaron". Diseñala para que arranque limpiando su propio resultado anterior.
- Probaste sobre el archivo original y algo salió mal: no hay Ctrl+Z. Siempre sobre una copia hasta que esté probada — y aun después, guardá antes de ejecutar.
🎯 Tu reto
Elegí TU reporte repetitivo (el de gastos sirve si no tenés otro). Escribí las etapas en papel, armá una macro por etapa (mínimo dos: una grabada + el bucle de la clase 3) y la directora que las llama con Call. Comentá cada llamada con ' y cerrá con un MsgBox. Probala en una copia: de la exportación cruda al reporte pronto, con un solo F5.
Mandame la captura por WhatsApp con la directora y el antes/después. Este es el proyecto que te cambia el mes — si se traba en algún paso, lo vemos juntos.
04Adónde sigue esto
Tu reporte se arma solo… si el que aprieta F5 sos vos. El último paso del nivel —y de toda la ruta— es que lo pueda usar cualquiera de tu equipo: un botón en la planilla, datos pedidos con un formulario y código prolijo que sobreviva al tiempo. Es la Clase 5: botones, formularios y buenas prácticas.
Automatizar TU reporte real es el mejor proyecto de aprendizaje que existe.
Y también donde aparecen los detalles que ningún tutorial cubre: tu sistema exporta raro, tus fechas vienen como texto, tu jefe quiere el resumen de otra forma. Ese último tramo lo hacemos juntos, sobre tu archivo real. Clases particulares con acompañamiento: online por Zoom o presencial en Montevideo.
💬 Quiero automatizar el mío