Sie möchten Excel-Arbeitsblätter einzeln als PDF speichern? In Excel können Sie ein einzelnes Tabellenblatt manuell als PDF exportieren. Wenn Sie jedoch mehrere oder alle Arbeitsblätter einer Excel-Datei als separate PDF-Dateien speichern möchten, ist ein VBA-Makro wesentlich schneller.
In dieser Anleitung zeigen wir Ihnen beide Möglichkeiten:
- Ein einzelnes Excel-Arbeitsblatt manuell als PDF speichern
- Alle Excel-Arbeitsblätter automatisch als separate PDF-Dateien speichern
- PDF-Dateien automatisch nach dem Namen des jeweiligen Tabellenblatts benennen
Excel-Arbeitsblätter einzeln als PDF speichern – mit und ohne VBA
Methode 1: Einzelnes Excel-Arbeitsblatt als PDF speichern
Wenn Sie nur ein einzelnes Tabellenblatt als PDF benötigen, können Sie dieses direkt über Speichern unter beziehungsweise Exportieren als PDF speichern.
Schritt 1: Gewünschtes Arbeitsblatt auswählen
Öffnen Sie die Excel-Datei und aktivieren Sie das Arbeitsblatt, das Sie als PDF speichern möchten. In unserem Beispiel exportieren wir das Tabellenblatt Sales.

Schritt 2: PDF als Dateityp auswählen
Klicken Sie auf Datei > Speichern unter und wählen Sie den gewünschten Speicherort.
Geben Sie einen Dateinamen ein und wählen Sie bei Dateityp beziehungsweise Speichern als Typ das Format PDF (*.pdf).

Schritt 3: Arbeitsblatt als PDF speichern
Klicken Sie auf Speichern. Excel erstellt nun aus dem ausgewählten Arbeitsblatt eine PDF-Datei.
Die PDF-Datei finden Sie anschließend im gewählten Ordner.

Das Ergebnis sieht beispielsweise wie folgt aus:

Nachteil dieser Methode: Wenn Ihre Arbeitsmappe beispielsweise 20 Tabellenblätter enthält und jedes Arbeitsblatt als eigene PDF-Datei gespeichert werden soll, müssten Sie diesen Vorgang 20-mal wiederholen.
In diesem Fall ist die automatische Variante mit VBA wesentlich effizienter.
Methode 2: Alle Excel-Arbeitsblätter einzeln als PDF speichern mit VBA
Mit einem kurzen VBA-Makro können Sie alle Arbeitsblätter einer Excel-Arbeitsmappe automatisch als separate PDF-Dateien exportieren.
Das Makro:
- fragt nach dem gewünschten Speicherordner,
- durchläuft automatisch alle sichtbaren Arbeitsblätter,
- erstellt für jedes Arbeitsblatt eine eigene PDF-Datei und
- verwendet den Namen des Tabellenblatts automatisch als PDF-Dateinamen.
Schritt 1: VBA-Editor öffnen
Öffnen Sie Ihre Excel-Datei und drücken Sie Alt + F11, um den VBA-Editor zu öffnen.
Schritt 2: Neues VBA-Modul einfügen
Klicken Sie im VBA-Editor auf Einfügen > Modul.

Schritt 3: VBA-Code zum PDF-Export einfügen
Kopieren Sie folgenden VBA-Code in das neue Modul:
Sub ArbeitsblaetterEinzelnAlsPDFSpeichern()
Dim ws As Worksheet
Dim savePath As String
Dim pdfName As String
' Speicherordner auswählen
With Application.FileDialog(msoFileDialogFolderPicker)
.Title = "Ordner für PDF-Dateien auswählen"
If .Show <> -1 Then
Exit Sub
End If
savePath = .SelectedItems(1) & Application.PathSeparator
End With
Application.ScreenUpdating = False
On Error GoTo Fehler
' Alle Arbeitsblätter durchlaufen
For Each ws In ThisWorkbook.Worksheets
' Nur sichtbare Arbeitsblätter exportieren
If ws.Visible = xlSheetVisible Then
pdfName = SichererDateiname(ws.Name) & ".pdf"
ws.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=savePath & pdfName, _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=False
End If
Next ws
Application.ScreenUpdating = True
MsgBox "Alle Arbeitsblätter wurden als PDF gespeichert.", vbInformation
Exit Sub
Fehler:
Application.ScreenUpdating = True
MsgBox "Beim PDF-Export ist ein Fehler aufgetreten: " & _
Err.Description, vbExclamation
End Sub
Function SichererDateiname(ByVal Dateiname As String) As String
Dim Zeichen As Variant
For Each Zeichen In Array("\", "/", ":", "*", "?", Chr(34), "<", ">", "|")
Dateiname = Replace(Dateiname, Zeichen, "_")
Next Zeichen
SichererDateiname = Dateiname
End Function
Schritt 4: Makro ausführen
Drücken Sie im VBA-Editor F5 oder führen Sie das Makro ArbeitsblaetterEinzelnAlsPDFSpeichern über Excel aus.
Es öffnet sich ein Dialogfenster, in dem Sie den gewünschten Speicherordner auswählen können.
Anschließend erstellt Excel automatisch für jedes sichtbare Arbeitsblatt eine eigene PDF-Datei.
Bei einer Arbeitsmappe mit den Tabellenblättern:
- Sales
- Costs
- Dashboard
werden beispielsweise automatisch folgende Dateien erstellt:
- Sales.pdf
- Costs.pdf
- Dashboard.pdf

Wie funktioniert der VBA-Code?
Der entscheidende Teil des Makros ist die Excel-VBA-Methode ExportAsFixedFormat:
ws.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=savePath & pdfName, _
Quality:=xlQualityStandard
ws steht jeweils für das aktuelle Arbeitsblatt. Durch die Schleife
For Each ws In ThisWorkbook.Worksheets
wird jedes Tabellenblatt der Arbeitsmappe automatisch nacheinander verarbeitet.
Dadurch müssen Sie nicht mehr jedes Arbeitsblatt manuell öffnen und als PDF speichern.
Nur sichtbare Arbeitsblätter als PDF speichern
Das oben gezeigte Makro exportiert bewusst nur sichtbare Tabellenblätter. Dafür sorgt folgende Bedingung:
If ws.Visible = xlSheetVisible Then
Ausgeblendete Hilfstabellen oder technische Arbeitsblätter werden dadurch nicht als PDF exportiert.
Wenn Sie auch ausgeblendete Arbeitsblätter exportieren möchten, können Sie diese Bedingung aus dem Makro entfernen.
Excel-PDF passt nicht auf eine Seite – was tun?
Beim PDF-Export verwendet Excel grundsätzlich die Druckeinstellungen des jeweiligen Arbeitsblatts. Wenn die Tabelle im PDF über mehrere Seiten verteilt wird, sollten Sie deshalb vor dem Export die Seiteneinstellungen überprüfen.
Unter Seitenlayout können Sie beispielsweise:
- Hoch- oder Querformat einstellen,
- Seitenränder verändern,
- einen Druckbereich definieren und
- die Tabelle auf eine Seite skalieren.
Mit VBA können Sie ein Arbeitsblatt beispielsweise auf eine Seitenbreite skalieren:
With ws.PageSetup
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = False
End With
Häufige Fragen zum PDF-Export aus Excel
Kann Excel jedes Arbeitsblatt automatisch als eigene PDF speichern?
Ja. Mit VBA können alle Arbeitsblätter einer Arbeitsmappe automatisch durchlaufen und jeweils als separate PDF-Datei gespeichert werden. Der Name des Arbeitsblatts kann gleichzeitig als Dateiname verwendet werden.
Kann ich mehrere Excel-Tabellenblätter ohne VBA als PDF speichern?
Einzelne oder ausgewählte Arbeitsblätter können auch ohne VBA als PDF exportiert werden. Wenn jedoch jedes Blatt als separate PDF-Datei gespeichert werden soll, muss der Vorgang ohne Automatisierung für jedes Blatt einzeln durchgeführt werden.
Warum sieht meine PDF anders aus als das Excel-Arbeitsblatt?
Beim PDF-Export berücksichtigt Excel die Druck- und Seiteneinstellungen des Arbeitsblatts. Prüfen Sie insbesondere Druckbereich, Seitenformat, Ausrichtung, Seitenränder und Skalierung.
Kann der PDF-Dateiname automatisch aus einer Excel-Zelle übernommen werden?
Ja. Anstelle von ws.Name kann beispielsweise der Inhalt einer bestimmten Zelle verwendet werden. So lassen sich automatisch Rechnungsnummern, Kundennamen, Projektnummern oder Datumsangaben in den PDF-Dateinamen übernehmen.
PDF-Export in Excel individuell automatisieren
In der Praxis reicht der einfache Export aller Tabellenblätter häufig nicht aus. Beispielsweise sollen PDF-Dateien automatisch nach Kunde, Projekt, Rechnungsnummer oder Datum benannt, in unterschiedlichen Ordnern gespeichert oder direkt per E-Mail versendet werden.
Solche Prozesse können vollständig mit Excel und VBA automatisiert werden.
Benötigen Sie Unterstützung bei einem individuellen PDF-Export oder bei der Automatisierung einer bestehenden Excel-Lösung? Kontaktieren Sie uns gerne unter +41 52 511 05 25 oder über unser
Kontaktformular.
Benötigen Sie einen Excel- oder VBA-Programmierer?
Wir von exact construct
entwickeln und automatisieren seit vielen Jahren Excel-Lösungen für Unternehmen.
Dazu gehören unter anderem:
- VBA- und Makro-Programmierung
- automatisierte PDF- und Berichtserstellung
- Excel-Dashboards und Reporting
- Import und Verarbeitung von Daten
- Power Query und Office-Automatisierung
- Optimierung bestehender Excel-Anwendungen
Weitere Informationen finden Sie auch in unserem Artikel zum Thema
Excel- und VBA-Programmierer finden.
„`



