Excel a Pdf macro que unifique dos hojas en un PDF.

Tengo esta macro que me convierte la hoja activa de excel a PDF y le asigna el nombre de la celda B2, me activa el modo "SAVE AS", me permite guardar donde yo quiera y todo funciona perfecto.

Ahora me surge la necesidad de unificar hojas 1 y 2 en un mismo PDF y que todo siga funcionando igual. Aquí esta la Macro que lo hace solo con la hoja activa. ¿Qué tendríamos que agregar para que tome hoja 1 y 2 o las que se necesiten?

Sub SendPDF()
'
' SendPDF Macro
'Para hoja activa con nombre de archico en celda B2
Dim v As Variant
v = Application.GetSaveAsFilename(Range("B2").Value, "PDF Files (*.pdf), *.pdf")
If VarType(v) <> vbString Then Exit Sub
If Dir(v) <> "" Then
If MsgBox("File already exists - do you wish to overwrite it?", vbYesNo, "File Exists") = vbNo Then Exit Sub
End If
With ActiveSheet
.ExportAsFixedFormat Type:=xlTypePDF, Filename:=v, _
Quality:=xlQualityStandard, IncludeDocProperties:=True, _
IgnorePrintAreas:=False, From:=1, To:=3, OpenAfterPublish:=True
End With
End Sub

1 Respuesta

Respuesta
1

[Hola

Antes del With usa esto:

Sheets(Array("Tuprimerahoja", "Tusegundahoja"))).Select

Y el With reemplázalo así:

With Selection

Estimado Abraham. Seguí tus instrucciones pero algo pasa.

Espero tus noticias.

[Hola nuevamente

Ese error ocurre si los nombres, o alguno de ellos, de las hojas no coinciden ¿Estás seguro que ambos nombres de las hojas son tal cual? Ojo que es habitual que haya espacios antes o después del nombre y las personas no se dan cuenta, tipo "Hoja1" que no es lo mismo que "Hoja1 " u " Hoja1" ¿Notas las diferencias?

Estimado Abraham, revise nombre de las hojas, hice funcionar la macro pero se pone un poco loca, he decido cambiar el concepto ahora necesito que el PDF lo genere de un rango determinado de la hoja activa. Así Más o menos: Usando la misma macro que genere el PDF de un rango especifico (de A2 a J65 por ejemplo) de esa manera puedo incluir en el mismo PDF las hojas que se necesiten. Espero haber explicado bien. (Ya no voy a usar dos hojas o más, usare solo una con un rango más amplio)

[Hola

Prueba con algo así:

Range("A2:J69").ExportAsFixedFormat Type:=xlTypePDF, Filename:=v, _
Quality:=xlQualityStandard, IncludeDocProperties:=True, _
IgnorePrintAreas:=False, From:=1, To:=3, OpenAfterPublish:=True

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas