Cómo crear PDF automático desde Excel con VBA
Clase 13 de 20 • Curso de Excel Avanzado
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
Domina en minutos cómo generar un PDF desde Excel y guardarlo automáticamente en tu carpeta, mientras alternas entre modo claro y oscuro para tu reporte. Con una macro clara y otra para el “ambiente”, verás cómo usar objetos, métodos y propiedades de VBA con confianza y sin complicaciones.
¿Cómo crear un PDF desde Excel con una macro VBA?
Para iniciar, abre Visual Basic con Alt+F11 e inserta un módulo. Puedes cargar la macro desde «archivo» y luego «agregar», por ejemplo, el TXT de «crear PDF». Al ejecutar desde Macros, verás «actualizar consultas» y «crear PDF» disponibles para tu reporte.
- La macro toma la carpeta donde está guardado el archivo de Excel con la ruta de ThisWorkbook.Path.
- Construye el nombre del PDF usando el nombre del archivo de Excel y la fecha.
- Exporta la hoja activa a PDF, es decir, la hoja en la que estás trabajando.
- Guarda el PDF en la misma carpeta de tu archivo, incrementando tus reportes de forma ordenada.
Al ejecutar «crear PDF», se genera un archivo con el mismo nombre del libro y la fecha. Se exporta lo visible en la hoja activa; por ejemplo, si escribes «reporte final», eso aparecerá en el PDF.
¿Qué hace el código y cómo entender objetos, métodos y propiedades?
La lógica se basa en el objeto de la hoja activa: ActiveSheet. La acción de exportación usa el método ExportAsFixedFormat con propiedades como FileName y valores lógicos True/False para ajustar el comportamiento. El cierre de la rutina se marca con End Sub.
- Objeto: la hoja, el libro y la carpeta son entidades sobre las que actúas.
- Método: acciones como ExportAsFixedFormat que ejecutan tareas específicas.
- Propiedad: parámetros como FileName que definen detalles del resultado.
Sugerencia práctica del flujo de trabajo: graba una macro para replicar la creación de un PDF y luego revisa el código en Visual Basic. Así identificas qué objetos, métodos y propiedades intervienen, y qué podrías limpiar o simplificar.
¿Cómo ejecutar y validar la macro de PDF?
- Abre Macros y selecciona «crear PDF».
- Verifica que se generó el archivo en la misma carpeta del libro.
- Comprueba que el contenido corresponda a la hoja activa.
¿Cómo depurar errores y activar el modo claro/oscuro del reporte?
La macro «ambiente» alterna el color del reporte entre fondo blanco y fondo negro. Considera una hoja específica (por ejemplo, «hoja uno») y cambia colores y ajustes de luminosidad desde celdas como A1. Si renombraste la hoja a dashboard u otro nombre, actualiza el código para que apunte a esa hoja.
- Si aparece un error al ejecutar «ambiente», usa Depurar: resaltará en amarillo la línea con el problema.
- Corrige el nombre de la hoja: cambia «hoja uno» por «dashboard» (entre comillas).
- Usa F8 para avanzar paso a paso y entender qué ocurre en cada instrucción.
- Con Play continúas la ejecución; con Stop cancelas.
Al final, tendrás dos versiones del mismo reporte: una con fondo blanco y otra con fondo negro. Incluso si ves un verdadero durante la ejecución, después podrás ocultarlo; es parte del proceso de validación interna.
¿Qué buenas prácticas te aceleran el aprendizaje de macros?
- Graba tus pasos antes de codificar: te da un mapa claro del flujo.
- Revisa y limpia el código: elimina acciones repetidas o innecesarias.
- Identifica objetos, métodos y propiedades con ejemplos propios.
- Prueba con F8 para aislar errores y confirmar resultados.
¿Te gustaría compartir cómo nombraste tus hojas o qué variante de «ambiente» te funcionó mejor? Deja tu comentario y sigamos aprendiendo VBA juntos.