2016-03-22 17 views
0

Ich habe 4 Blätter, sagen "Sheet1", "Sheet2", "Sheet3" und "Sheet4".Exportieren mehrerer Arbeitsblätter zu PDF ohne Auswahl

Für meine PDF, möchte ich den Inhalt Sheet3 und Sheet4 exportieren, so wird es in ein Array als gruppiert werden:

Sheets(Array("Sheet3", "Sheet4")); 

Jetzt, in der Regel in PDF zu exportieren, ich würde das Wählen, dann haben

ActiveSheet.ExportAsFixedFormat _ 
Type:=xlTypePDF, _ 
Filename:= _ 
"C:\filename.pdf", _ 
Quality:= xlQualityStandard, _ 
IncludeDocProperties:=True, _ 
IgnorePrintAreas:=False, _ 
OpenAfterPublish:=False 

Allerdings möchte ich dieses Makro vollständig im Hintergrund laufen lassen. Wenn ich Sheet1 betrachtete und dieses Makro ausführte, wird es auf Sheet3 verschoben, weil es ausgewählt wurde, was den Workflow stört.

Ich weiß, wie dies durch das Deklarieren von Variablen wie FillCell für Grundoperationen tun:

Dim wb As Workbook 
Dim ws As Worksheet 
Set wb = ThisWorkbook 
Set ws = wb.Sheets("Sheet2") 
' modify ws 

da diese hinter den Kulissen funktioniert.

Zusammenfassend möchte ich mehrere Arbeitsblätter (nicht alle) in das PDF exportieren, ohne Select, Activate oder ähnliches verwenden zu müssen, was die Ansicht der Arbeitsmappe/Arbeitsblatt, die ich gerade betrachte, ändert.

+0

haben Sie versucht, nur table3.ExportAsFixedFormat aufzurufen? –

+1

Duplizieren von [Verwenden Sie eine Methode für mehrere Blätter gleichzeitig, ohne ActiveSheet oder Select zu verwenden] (http://stackoverflow.com/q/22796286/4088852). – Comintern

+0

@Comintern, das hat gut funktioniert. Prost – mojo1mojo2

Antwort

-1

Dies sollte den Trick tun.

Sheets("Sheet 1").ExportAsFixedFormat _ 
Type:=xlTypePDF, _ 
Filename:= _ 
"C:\filename.pdf", _ 
Quality:= xlQualityStandard, _ 
IncludeDocProperties:=True, _ 
IgnorePrintAreas:=False, _ 
OpenAfterPublish:=False 
Verwandte Themen