Exportar hoja de Excel en formato PDF con macros

Seguro en más de una ocasión se ha presentado la necesidad de guardar la Hoja de Excel en formato PDF, pues es precisamente lo que vamos a realizar en el siguiente ejercicio.

Método ExportAsFixedFormat: Con la aplicación de este es posible exportar la Hoja de Excel a un archivo en formato PDF o XPS.

Para el siguiente ejemplo, vamos a trabajar con la misma tabla sencilla de la entrega anterior:

El objetivo es guardar esta hoja en un archivo PDF y lo primero es ingresar al editor de Visual Basic, puede ser con la combinación de teclas Alt + F11 y desde el explorador de proyectos, es necesario dar doble clic sobre la hoja donde se requiere crear la macro que para nuestro ejercicio se ubicará en la Hoja1:

Ingresamos el siguiente código:

Sub ExportarPDF()

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _

Filename:=ThisWorkbook.Path & "\Gerencie.pdf", Quality:=xlQualityStandard, _

IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True

End Sub

Queda de la siguiente manera en el editor VBA:

Veamos lo que significan cada una de las líneas:

  1. La primera línea Sub ExportarPDF(), indica el inicio de la macro.
  2. Las siguientes líneas excepto la última en realidad es una sola línea de código dividida en 3 partes para que pudiera ser visible en la imagen (obsérvese que al final de cada línea se encuentra un guion bajo con el cual se puede separar una línea de código en varias partes y que sea demasiado larga para nuestro gusto). Lo que se hace es utilizar del Objeto ActiveSheet el Método ExportAsFixedFormat e indicando el tipo que sea PDF con el parámetro Type:=xlTypePDF. Luego se especifica la ruta para guardar y el nombre que en este ejemplo será “Gerencie.pdf” y finalmente se asigna el valor Falso a las características de Propiedades y área de impresión; la última propiedad OpenAfterPublish se encuentra en True, lo que significa que una vez se genere el PDF, lo abra
  3. La última línea marca el fin (End) de la Macro o Subrutina (Sub).

Para ejecutar la macro, lo ideal es insertar una autoforma en la Hoja1 y luego asignar la macro que acabamos de crear (clic derecho sobre la Autoforma y seleccionar la opción Asignar macro:

Finalmente seleccionar la macro que se acaba de crear:

Y al dar clic sobre el la autoforma, la macro genera el archivo PDF en la ruta donde tenemos el archivo Excel:

Así como también deja abierto el mismo archivo para ser revisado:

Descargar archivo de trabajo.

Contenido relacionado:
Compartirlo
Gerencie.com en su correo.

Suscríbase y nosotros colocaremos en su bandeja de entrada la mejor información que generamos diariamente.


Déjenos su opinión

4 Opiniones
  1. BERENICE dice:

    hola buen día disculpe como podría hacerle para generar varios reportes en la misma hoja pero que al generarlos me de la opción de ponerles nombre ya que al generarlos sustituye uno al otro?

  2. alex dice:

    buenas tardes, tengo datos de glucosas, colesterol, trigliceridos y muchas pruebas mas en una hoja de calculo y necesito pasarlos a otra hoja para poder imprimirlos y poder guardarlos en formato pdf con una macro no se si me puedan ayudar muchas gracias

  3. PATRICIO ACUÑA dice:

    Buenas Tardes.

    Me podras Indicar como hago para hacer un PDF pero de Rangos especificos de una Hoja.
    Desde Ya Muchas Gracias.

  4. Gustavo Garcia dice:

    Hola buen día.

    Tengo una duda respecto a esta macro. Al copiar el código en mi macros personal y generar el pdf, este se guarda de manera temporal en memoria supongo, ya que al abrir mi excel este refleja un código extraño sobre la ruta de impresión y el nombre del archivo es el mismo que el del pdf. ¿Como puedo corregir este error? Gracias y saludos.

En Gerencie.com está permitido opinar, criticar, discutir, controvertir, disentir, etc., pero debe hacerlo con respeto, sin insultar y sin ofender a otros.

Información legal aplicable para Colombia.