Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Mehrere Tabellenblätter als einzelne PDF

Mehrere Tabellenblätter als einzelne PDF
22.02.2023 13:59:12
Bogdan
hallo,
ich habe 40 Tabellenblätter, welche ich automatisch exportieren möchte.
Auf diversen Foren habe ich gelesen, dass es mit Makro funktioniert. Leider funktioniert das noch nicht ganz ...
Dim Ws As Worksheet
For Each Ws In Worksheets
Ws.ExportAsFixedFormat xlTypePDF, _
"H:\Pfad\Ordner1" & "\" & Ws.Name
Next
End Sub
Vielleicht hat jemand eine Lösung?
Anzeige

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Mehrere Tabellenblätter als einzelne PDF
22.02.2023 14:38:42
UweD
Hallo
Schreibfehler beim Verzeichnis?
Bei mir klappt das.
Sub GDGDG()
    Dim Ws As Worksheet, strPfad As String
    strPfad = "E:\Excel\temp\test\"
    If Dir(strPfad, vbDirectory) = "" Then
        MsgBox "Das Verzeichnis existiert nicht"
    Else
        For Each Ws In Worksheets
            Ws.ExportAsFixedFormat xlTypePDF, _
                strPfad & Ws.Name
        Next
    End If
End Sub
LG UweD
Anzeige
AW: Mehrere Tabellenblätter als einzelne PDF
22.02.2023 14:48:26
Bogdan
Bei mir kommt auch jetzt Laufzeitfehler '5' mit der option den Fehler zu "debuggen".
Dann wird dieser Teil der Formel gelb markiert:
Ws.ExportAsFixedFormat xlTypePDF, _
strPfad & Ws.Name
AW: Mehrere Tabellenblätter als einzelne PDF
22.02.2023 15:00:21
Daniel
Hi
bei mir kommt der Laufzeitfehler 5, wenn ich versuche, ein Tabellenblatt zu exportieren, das ausgeblendet ist.
wenn du also solche ausgeblendeten Blätter hast und diese auch nicht als PDF exportiert werden sollen, dann kannst du diese so überspringen:
For Each Ws In Worksheets
    If Ws.Visible = xlSheetVisible Then Ws.ExportAsFixedFormat Type:=xlTypePDF, Filename:=strpfad & Ws.Name
Next Ws

Anzeige
AW: Mehrere Tabellenblätter als einzelne PDF
22.02.2023 15:09:17
Bogdan
Das war tatsächlich der Fehler. Vielen Dank!
AW: Mehrere Tabellenblätter als einzelne PDF
22.02.2023 14:39:28
Nepumuk
Hallo Bogdan,
teste mal:
Public Sub Test()
    Dim Ws As Worksheet
    For Each Ws In Worksheets
        Call Ws.Select(Replace:=False)
    Next
    ActiveSheet.ExportAsFixedFormat xlTypePDF, "H:\Pfad\Ordner1\Gesamt.pdf"
    Call ActiveSheet.Select(Replace:=True)
End Sub
Gruß
Nepumuk
Anzeige
AW: Mehrere Tabellenblätter als einzelne PDF
22.02.2023 14:54:24
Bogdan
Kommt leider Laufzeutfehler 1004
wenn ich auf debuggen klicke wird folgender Bereich markiert:
Call Ws.Select(Replace:=False)
AW: Mehrere Tabellenblätter als einzelne PDF
22.02.2023 14:41:23
Benjamin
Moin Bogdan,
dein Vorgehen ist eigentlich richtig, ich denke du hast nur Syntaxfehler drin. In Zukunft wäre eine Fehlermeldung o.ä. hilfreich.
Probier mal das hier aus, das sollteauf jeden Fall funktionieren:
Dim Ws As Worksheet
For Each Ws In Worksheets
Ws.ExportAsFixedFormat Type:=xlTypePDF, Filename:="H:\Pfad\Ordner1" & "\" & Ws.Name
Next Ws
End Sub
Sonst überprüf nochmal den Dateipfad. Wenn du den ersten angegebenen String durch Thisworkbook.Path ersetzt, wird im aktuellen Ordner gespeichert.
LG
Benjamin
Anzeige
AW: Mehrere Tabellenblätter als einzelne PDF
22.02.2023 14:51:38
Bogdan
Habe deinen Code so reinkopiert mit korrektem Pfad.
Kommt leider Laufzeitfehler '5'
wenn ich auf debuggen klicke, wird der folgende Bereich gelb markiert:
Ws.ExportAsFixedFormat Type:=xlTypePDF, Filename:="H:\Pfad\Ordner1" & "\" & Ws.Name
AW: Mehrere Tabellenblätter als einzelne PDF
22.02.2023 15:00:23
Bogdan
witzigerweise kriege ich die ersten drei Blätter exportiert. Danach kommt der Fehler '5'
Anzeige
AW: Mehrere Tabellenblätter als einzelne PDF
22.02.2023 15:04:59
Daniel
Hi
dann kann das 4. Blatt nicht exportiert werden.
ein möglicher Grund dafür kann sein, dass es ausgeblendet ist.
lass dir mal, wenn der Fehler auftritt, den Namen des verursachenden Blattes anzeigen (mit ?ws.Name im Direktfenster) und vergleiche dieses Blatt mit den anderen drei Blättern die exportiert werden konnten und versuche herauszufinden, was der Unterschied zu diesen Blättern ist.
Gruß Daniel
Anzeige
AW: Mehrere Tabellenblätter als einzelne PDF
22.02.2023 15:09:58
Bogdan
das war der Fehler. Danke!
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Mehrere Tabellenblätter als einzelne PDF speichern


Schritt-für-Schritt-Anleitung

Um in Excel mehrere Tabellenblätter als PDF zu speichern, kannst du ein Makro verwenden. Hier ist eine einfache Anleitung:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Klicke auf „Einfügen“ und wähle „Modul“, um ein neues Modul zu erstellen.

  3. Füge den folgenden Code in das Modul ein:

    Sub ExportMultipleSheetsAsPDF()
       Dim Ws As Worksheet
       Dim strPfad As String
       strPfad = "H:\Pfad\Ordner1\" ' Ändere den Pfad nach Bedarf
    
       For Each Ws In Worksheets
           If Ws.Visible = xlSheetVisible Then
               Ws.ExportAsFixedFormat Type:=xlTypePDF, Filename:=strPfad & Ws.Name
           End If
       Next Ws
    End Sub
  4. Passe den strPfad an den gewünschten Speicherort an.

  5. Schließe den VBA-Editor und führe das Makro durch Drücken von ALT + F8 aus. Wähle das Makro „ExportMultipleSheetsAsPDF“ und klicke auf „Ausführen“.

Jetzt solltest du in der Lage sein, alle sichtbaren Tabellenblätter als PDF zu speichern!


Häufige Fehler und Lösungen

  • Laufzeitfehler '5': Dieser Fehler kann auftreten, wenn du versuchst, ein ausgeblendetes Blatt zu exportieren. Stelle sicher, dass nur sichtbare Blätter exportiert werden, wie im obigen Code gezeigt.

  • Laufzeitfehler '1004': Dieser Fehler kann auftreten, wenn du versuchst, ein Blatt zu wählen, das nicht existiert oder nicht sichtbar ist. Überprüfe den Code auf Syntaxfehler und die Sichtbarkeit der Blätter.

  • Verzeichnis existiert nicht: Wenn du eine Fehlermeldung erhältst, dass das Verzeichnis nicht existiert, überprüfe den angegebenen Pfad und stelle sicher, dass er korrekt ist.


Alternative Methoden

  1. Einzelnes Blatt als PDF speichern: Wenn du nur ein bestimmtes Blatt speichern möchtest, kannst du den folgenden Code verwenden:

    Sub SaveSingleSheetAsPDF()
       Worksheets("Blattname").ExportAsFixedFormat Type:=xlTypePDF, Filename:="H:\Pfad\Ordner1\Blattname.pdf"
    End Sub
  2. Gesamte Arbeitsmappe als PDF speichern: Um die gesamte Arbeitsmappe zu speichern, kannst du den folgenden Code verwenden:

    Sub SaveWorkbookAsPDF()
       ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:="H:\Pfad\Ordner1\Gesamt.pdf"
    End Sub

Praktische Beispiele

  • Beispiel 1: Speichere alle Arbeitsblätter in einem bestimmten Ordner als PDF:

    Sub SaveAllSheetsAsPDF()
       Dim strPfad As String
       strPfad = "H:\Pfad\Ordner1\"
       ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:=strPfad & "AlleBlätter.pdf"
    End Sub
  • Beispiel 2: Exportiere mehrere Tabellenblätter in eine einzige PDF:

    Sub SaveMultipleSheetsToOnePDF()
       Dim strPfad As String
       strPfad = "H:\Pfad\Ordner1\Gesamt.pdf"
       Worksheets(Array("Blatt1", "Blatt2", "Blatt3")).Select
       ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=strPfad
       Worksheets(1).Select ' Zurück zum ersten Blatt
    End Sub

Tipps für Profis

  • Verwende ThisWorkbook.Path, um den Speicherort dynamisch auf den Ordner der aktuellen Arbeitsmappe zu setzen:

    strPfad = ThisWorkbook.Path & "\"
  • Stelle sicher, dass du alle ausgeblendeten Blätter überspringst, um Fehler zu vermeiden.

  • Verwende On Error Resume Next, um das Makro robuster zu machen und Fehler zu ignorieren, wenn ein Blatt nicht exportiert werden kann.


FAQ: Häufige Fragen

1. Kann ich mehrere Excel-Dateien in ein PDF umwandeln?
Ja, du kannst mehrere Mappen in ein PDF umwandeln, indem du die Blätter der verschiedenen Mappen in einem neuen PDF-Dokument zusammenführst.

2. Wie speichere ich nur ausgewählte Blätter als PDF?
Du kannst die gewünschten Blätter in einem Array angeben und die Select-Methode verwenden, um sie als PDF zu exportieren.

3. Wo finde ich die PDF-Datei nach dem Export?
Die PDF-Datei wird im angegebenen Verzeichnis gespeichert, das du im Code definiert hast. Achte darauf, dass der Pfad korrekt ist.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige