¿Como hacer macro que guarde varias hojas de un libro excel en formato pdf con el titulo de una celda de otra hoja del libro?

El detalle que tengo es el siguiente, tengo un libro excel con 3 hojas de las cuales solo quiero guardar en PDF la 2 y 3 pero el titulo del archivo quiero que sea el valor de una celda especifica de la hoja 1 (que es la que no voy a guardar) Realice la macro en VBA y lo intente con Range ("celda") pero ese me toma la celda de la hoja activa mas no, de la hoja 1. Y cuando intente especificar la celda de la hoja 1 entonces salio bien el titulo pero me guardo la hoja 1 en el pdf. Por favor si me puede ayudar indicándome el código correcto se lo agradezco.

Las hojas se llaman: Hoja 1(datos), Hoja 2 (Diagrama), Hoja 3 (visuales) entonces en el pdf quiero el diagrama y los visuales con el titulo igual al valor de la celda E2 de la hoja 1 (datos)

Respuesta
1

Podrías poner el código y se vería lo que hay mal, porque si has conseguido hacer lo que has hecho, no deberías tener problema de solucionarlo.

Puedes usar Grabar macro, haces a mano lo que quieras automatizar (puedes poner el encabezado manualmente, guardar como PDF cada una de las hojas...), detienes la macro y luego miras el código. Básicamente sustituyes los títulos que pusiste a mano por
ThisWorkBook.Sheets("Datos").Range("E2").Value
Y te debería funcionar. Adicionalmente puedes sanear el código quitando cosas que no hagan falta.

Teniendo la hoja1 como Datos, te creas un botón que ejecute esa macro.

Si no quieres ver el proceso cada vez que lo pulsas, pones Application.ScreenUpdating = False al principio y True al final de la función y listo.

Gracias.. Bueno a los pocos minutos de preguntar me seguí matando allí con vba y digo matando porque quizás parece una tontería pero yo soy medio nueva en esto je je y pues creo que lo que me estaba saltando era la propiedad "Worksheets" y pues no se si el código de la macro no esta muy limpio pero me quedo algo así y funciono::

Sub GuardarPDF()
'
' GuardarPDF Macro
'
' Keyboard Shortcut: Ctrl+Shift+G
'
Sheets(Array("Diagrama", "Visuales")).Select
Sheets("Diagrama").Activate
nombreLibro = Worksheets("Datos").Range("E2").Value
ruta = "C:\Users\bbriceno\Documents\Diagramas\"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=ruta & nombreLibro & ".pdf", Quality:= _
xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=True
MsgBox "¡Diagrama guardado con Éxito!"
End Sub.

Igual muchas gracias! :-)

Está muy limpio!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas