Macro Imprimir en PDF varias hojas en un solo archivo

Estoy intentando crear una macro para cuando se ejecute a través de un botón me imprima varias hojas distintas (todas dentro del mismo libro) en formato pdf y en un solo archivo. Hay que tener en cuenta que cada hoja tiene unos rangos distintos.

1 Respuesta

Respuesta
2

[Hola

Intenta con algo así:

Sheets(Array("Hoja1", "Hoja45", "Hoja46")).Select
Selection.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
    "D:\Carpeta\xxxxxx.pdf", _
        Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
            OpenAfterPublish:=False

Comentas

Abraham Valencia

¡Gracias! 

Gracias por el aporte, pero lamentablemente no me realiza ninguna acción.

¿Los nombres de las hojas son correctos? Ojo con eso, muchas veces hay espacios al final del nombre que son casi imperceptibles ¿Qué versión de Excel es? ¿Te da algún error, cuál? Si no hace nada ¿no será que no habilitaste las macros?

Abraham Valencia

Estoy haciendo la prueba con solo una hoja y sigue sin hacer nada. Incluso le puse la macro a un botón “Form Controls” y después a un botón “Active X”. En el primero no hace nada y en el segundo me da error

El Excel es la versión 2010.

Las macros están habilitadas porque dentro del libro existen otras macros.

Algo creo que te falta describir, pero para ahorrar tiempo sugiero que coloques tu archivo en algún "Drive" (OneDrive, Google Drive, DropBox, etc.) y compartas por aquí el archivo.

Abraham Valencia

Gracias.

Estoy intentando, pero el problema que el archivo esta en el ordenador de trabajo de la empresa.

https://www.dropbox.com/sh/ola2ktcgjtf3fq4/AACHv6-McGkTRKJ3YzZn_evBa?dl=0 

[Hola

En ese archivo no hay nada respecto a exportar a pdf ¿?

Abraham Valencia

Entonces se me coló una versión vieja.

Copia y pega esto en el "Module3":

Sub Convertir()
Sheets(Array("RESIDUOS1", "RESIDUOS2")).Select
Selection.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
    "C:\Users\puerto.pdf", _
        Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
            OpenAfterPublish:=False
End Sub

Luego en la hoja que quieras inserta un botón de formulario (Programador - (controles) Insertar - (Controles de formulario) Botón. Al botón asígnale la macro del ejemplo y mira lo que ocurre.

Abraham Valencia

PD: Antes de exportar a pdf, dale formato a tus hojas/páginas (margenes, saltos de página, etc.)

Me aparece un error:

Run-time error `1004`

Document not saved. Te documento may be open, orlan error may hace been encountered when saving.

Ese mensaje ocurre cuando la ruta es incorrecta. Verifica eso.

Abraham Valencia

Gracias. Ahora si pero a medias.

Ahora me pasa en blanco a PDF o solo la celda que esta seleccionada. Creía que era por estar bloqueada la hoja pero ni así.

Repito el post data (PD) de un mensaje anterior:

Antes de exportar a pdf, dale formato a tus hojas/páginas (margenes, saltos de página, etc.)

Abraham Valemcia

Gracias

He revisado todo y en teoría esta bien, solo me “imprime” cuando una de las hojas la dejo toda seleccionada, pero además de la otra hoja me imprime el mismo rango.

En ambas hojas activa la "vista previa de salto de página" y verifica que esté bien "formarteado". Todo lo que mencionas, ahora, es porque no has cambiado los saltos de página y similares. OJO, cada formato ese da en cada PC, si lo diste en una, pues NO necesariamente mantiene el mismo en otra PC pues dependen de los drivers de las impresoras.

Abraham Valencia

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas