Créez un file PDF à partir de différentes plages dans plusieurs feuilles Excel avec VBA

Je dois exporter plusieurs feuilles Excel dans un seul file PDF. J'utilise actuellement ce qui suit:

Sub CreatePDF() Sheets("ReportPage1").Select Range("Print_Area").Select Sheets("ReportPage2").Select Range("Print_Area").Select Sheets("ReportPage3").Select Range("Print_Area").Select ThisWorkbook.Sheets(Array("ReportPage1", "ReportPage2", "ReportPage3")).Select Selection.ExportAsFixedFormat _ Type:=xlTypePDF, _ FileName:="C:\temp\temp.pdf", _ Quality:=xlQualityStandard, _ IncludeDocProperties:=True, _ IgnorePrintAreas:=False, _ OpenAfterPublish:=True Sheets("ReportPage1").Select Range("A1").Select End Sub 

Le problème est que toutes les zones d'printing sont différentes. Le file PDF généré utilise l'adresse de plage de la zone d'printing à partir de ReportPage1 pour toutes les pages.

J'ai essayé dans Excel lui-même, en dehors de VBA, et quand j'ai sélectionné, par exemple, ReportPage1! A1: E30 et ReportPage2! A1: F70, lorsque je sélectionne les deux feuilles, cela changera les plages sélectionnées en ReportPage1! A1: E30 et ReportPage2 ! A1: E30.

Des idées pour résoudre ceci?

Toute aide sera très appréciée.

D'accord, je l'ai résolu. Si je ne sélectionne aucune plage sur les pages spécifiques, il enverra automatiquement la gamme Print_Area de chaque feuille.

 Sub CreatePDF() ThisWorkbook.Sheets(Array("ReportPage1", "ReportPage2", "ReportPage3")).Select Sheets("ReportPage1").Activate ActiveSheet.ExportAsFixedFormat _ Type:=xlTypePDF, _ FileName:="C:\temp\temp.pdf", _ Quality:=xlQualityStandard, _ IncludeDocProperties:=True, _ IgnorePrintAreas:=False, _ OpenAfterPublish:=True Sheets("ReportPage1").Select Range("A1").Select End Sub