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.
haben Sie versucht, nur table3.ExportAsFixedFormat aufzurufen? –
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
@Comintern, das hat gut funktioniert. Prost – mojo1mojo2