Contenido del curso
Módulo 2: Modelado de Datos con Power Pivot y DAX
Módulo 3: Funciones y Herramientas de Análisis Avanzado
Módulo 4: Automatización con Macros y VBA
Módulo 5: Creación de Dashboards Interactivos
Macros en Excel para generar PDF y cambiar tema
Resumen
Automatizar la generación de un PDF y alternar entre modo claro y oscuro en Excel se logra con dos macros sencillas en Visual Basic. Aquí verás cómo crear macros en Excel que exporten tu reporte como PDF en la misma carpeta del archivo y que cambien la apariencia visual del dashboard, ideal si trabajas con reportes ejecutivos recurrentes.
¿Cómo se construye la macro para exportar un reporte como PDF?
Todo arranca abriendo el editor con Alt + F11 e insertando un nuevo módulo. Dentro pegas el código de la macro CrearPDF, que puedes escribir manualmente o cargar desde un archivo externo con la opción Archivo > Agregar [01:00].
La lógica del código se apoya en tres piezas que vale la pena entender antes de ejecutarla.
- Ruta dinámica con ThisWorkbook.Path: la variable
carpetatoma la ubicación donde está guardado el Excel, así el PDF siempre se crea junto al archivo original. - Nombre construido con fecha: la macro arma el nombre del PDF concatenando el nombre del archivo con el año, mes y día, evitando que se sobrescriban versiones anteriores.
- Exportación de la hoja activa: usa
ActiveSheet.ExportAsFixedFormat, donde ActiveSheet es el objeto y ExportAsFixedFormat es el método que convierte a PDF [02:30].
¿Qué hace ThisWorkbook.Path en una macro? Devuelve la ruta de la carpeta donde está guardado el archivo de Excel actual. Sirve para que la macro guarde el PDF en ese mismo lugar sin escribir la ruta a mano.
¿Por qué conviene grabar la macro antes de escribirla?
Si todavía no dominas los métodos y propiedades de Visual Basic, una recomendación práctica es grabar tú mismo la acción de exportar a PDF. Después abres el editor y revisas paso a paso el código generado: ahí identificas qué es objeto, qué es método y qué es propiedad. Es la forma más rápida de familiarizarte con la sintaxis sin memorizarla.
¿Cómo ejecutar la macro CrearPDF desde Excel?
Una vez guardado el módulo, regresa a Excel y abre la ventana de macros. Verás dos disponibles: ActualizarConsultas y CrearPDF. Renombra tu hoja activa, por ejemplo a reporte final, selecciona CrearPDF y pulsa Ejecutar.
El resultado aparece en la misma carpeta del Excel: un PDF con el nombre del archivo más la fecha, que al abrirlo muestra exactamente el contenido de la hoja activa al momento de ejecutar la macro [05:30].
¿Cómo crear una macro para cambiar de modo claro a oscuro?
La segunda macro, llamada Ambiente, alterna los colores del reporte. Insertas otro módulo en Visual Basic y cargas el código, que actúa sobre una hoja específica y modifica las propiedades de color y luminosidad de las celdas activas, llevándolas a negro o blanco según el caso.
Aquí aparece un detalle clave que suele provocar errores al ejecutar.
¿Qué hago si la macro marca error al buscar Hoja1?
El código original referencia Hoja1, pero si tu archivo tiene la hoja renombrada como dashboard, reporte mensual o cualquier otro nombre, Visual Basic devolverá un error de ejecución. La forma de resolverlo es entrar en modo depuración.
- Depurar para ubicar el error: al pulsar Depurar, el editor resalta en amarillo la línea problemática.
- Editar la referencia de hoja: cambia
Hoja1por el nombre real entre comillas, por ejemplo"dashboard". - Continuar la ejecución: pulsa Continuar o usa F8 para avanzar paso a paso y validar que cada línea se ejecute correctamente [09:30].
¿Para qué sirve F8 en Visual Basic? Permite ejecutar la macro línea por línea. Así controlas qué hace cada instrucción y detectas en qué punto exacto aparece un error o un comportamiento inesperado.
¿Cómo se ve el resultado del cambio de ambiente?
Cuando la macro corre sin errores, ejecutarla una vez deja el reporte con fondo blanco; ejecutarla de nuevo lo cambia a fondo negro. Tienes así dos versiones visuales del mismo dashboard sin duplicar archivos ni rehacer el formato manualmente.
¿Qué objetos, métodos y propiedades aparecen en estas macros?
Dominar la jerarquía de Visual Basic facilita leer cualquier macro futura. Estos son los elementos que aparecen en el código trabajado.
- Objeto ActiveSheet: representa la hoja actualmente seleccionada en Excel.
- Método ExportAsFixedFormat: convierte el objeto en un archivo de formato fijo, en este caso PDF.
- Propiedad ThisWorkbook.Path: entrega la ruta del archivo activo como texto.
- Propiedades de color y luminosidad: ajustan tonalidad y brillo de las celdas para alternar entre claro y oscuro.
Con estas dos macros listas, el siguiente paso es vincularlas a botones dentro del dashboard para que cualquier usuario las ejecute con un clic. ¿Ya pensaste qué reporte tuyo automatizarías primero con esta lógica? Cuéntame en los comentarios.