Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: mehrere Tabellenblätter als PDF abspeichern

mehrere Tabellenblätter als PDF abspeichern
12.01.2016 11:11:16
Martina
Hallo,
ich hätte eine kurze Bitte. Ich versuche gerade ein Makro zu erstellen, welches alle Tabellenblätter einzeln als PDF abspeichert und zwar immer nur die erste Seite jedes Blattes. So weit bin ich bis jetzt gekommen (leider noch nicht so weit ;-)..)
Sub Makro_PDFspeichern()
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\Jaenner\ " & Cells(5, 1).Value, Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
False
End Sub

Vielen Dank für eure Hilfe,
LG

Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: mehrere Tabellenblätter als PDF abspeichern
12.01.2016 11:25:30
Daniel
Hi
dim wsh as worksheet
for each wsh in thisworkbook.Worksheets
wsh.ExportAsFixedFormat Type:=xlTypePDF, _
Filename:="C:\Jaenner\ " & Cells(5, 1).Value & " " & wsh.Name, _
Quality:=xlQualityStandard, IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
From:=1, To:=1, _
OpenAfterPublish:=False
next
probiers mal so, das speichert von allen Tabellenblättern die erste Seite des Ausdrucks als PDF.
den Blattnamen solltest du natürlich in den Speichernamen mit aufnehmen, damit sich die PDFs nicht gegenseitig überschreiben.
Gruss Daniel

Anzeige
AW: mehrere Tabellenblätter als PDF abspeichern
12.01.2016 11:33:27
mumpel
Hallo!
Ich würde wsh.Cells(5, 1).Value schreiben.
Gruß, René

AW: mehrere Tabellenblätter als PDF abspeichern
12.01.2016 11:34:28
Martina
Hi Daniel,
leider bekomme ich einen Laufzeitfehler.
Sub Makro1()
Dim wsh As Worksheet
For Each wsh In ThisWorkbook.Worksheets
wsh.ExportAsFixedFormat Type:=xlTypePDF, _
Filename:="Y:\B1-AT-org\B1-CS-AT-V\V3-Grp\Kennzahlen und Reports\BPS Bonus\Wertungsblä _
tter\Jaenner\ " & Cells(5, 1).Value & " " & wsh.Name, _
Quality:=xlQualityStandard, IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
From:=1, To:=1, _
OpenAfterPublish:=False
Next
End Sub
Kann es sein dass ich das Makro falsch eingegeben hab?
Danke,
LG

Anzeige
AW: mehrere Tabellenblätter als PDF abspeichern
12.01.2016 11:51:27
Daniel
Hi
der code an sich ist richtig.
mir fallen da noch folgende Fehlermöglichkeiten ein:
- du hast dich beim Speicherpfad vertippt
- in der Zelle A5 steht ein Fehlerwert
- die Zelle A5 enthält ein Sonderzeichen, welches in einem Dateinamen nicht zulässig ist.
Gruss Daniel

Anzeige
AW: mehrere Tabellenblätter als PDF abspeichern
12.01.2016 11:38:25
fcs
Hallo Martina,
mit folgenden Ergänzungen werden in einer alle Blätter als einzeln PDF gespeichert, jeweils nur Seite 1.
LG
Franz
Sub Makro_PDFspeichern()
Dim wks As Worksheet
Dim strFilePDF As String
For Each wks In ActiveWorkbook.Worksheets
strFilePDF = "C:\Jaenner\ " & wks.Cells(5, 1).Value
wks.ExportAsFixedFormat Type:=xlTypePDF, Filename:=strFilePDF, _
Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
From:=1, To:=1, OpenAfterPublish:=False
Next wks
End Sub

Anzeige
AW: mehrere Tabellenblätter als PDF abspeichern
12.01.2016 11:42:03
Martina
Hallo fcs,
danke für deine Nachricht, aber ich bekomme auch hier einen Laufzeitfehler..
wks.ExportAsFixedFormat Type:=xlTypePDF, Filename:=strFilePDF, _
Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
From:=1, To:=1, OpenAfterPublish:=False
dieser Teil des Makros wird gelb markiert.
Danke, LG

Anzeige
AW: mehrere Tabellenblätter als PDF abspeichern
12.01.2016 12:05:25
fcs
Hallo Martina,
evtl. sthen in der Zelle, deren Inhalt in den Dateinamen eingebaut wird unzulässige Zeichen für Dateinamen.
Außerdem solltest du das Leezeichen, das am Anfang des Dateinamen durch ...Jaenner\ " eingebaut wird löschen, es sei denn das ist so beabsichtigt.
LG
Franz
Sub Makro1()
Dim wsh As Worksheet
Dim strFilePDF As String
For Each wsh In ThisWorkbook.Worksheets
strFilePDF = wsh.Cells(5, 1).Text
'nicht zulässige Zeichen   ? [ ] : | * in Dateinamen ersetzen
strFilePDF = Replace(strFilePDF, "

Anzeige
;

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 PDF abspeichern in Excel


Schritt-für-Schritt-Anleitung

Um mehrere Tabellenblätter als PDF zu speichern, kannst Du ein einfaches Excel-Makro verwenden. Hier ist eine Schritt-für-Schritt-Anleitung:

  1. Öffne den VBA-Editor:

    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Erstelle ein neues Modul:

    • Klicke mit der rechten Maustaste auf „VBAProject (DeinWorkbookName)“.
    • Wähle „Einfügen“ > „Modul“.
  3. Füge folgenden Code ein:

    Sub mehrereTabellenblätterAlsPDFspeichern()
       Dim wsh As Worksheet
       Dim strFilePDF As String
       For Each wsh In ThisWorkbook.Worksheets
           strFilePDF = "C:\DeinPfad\" & wsh.Cells(5, 1).Value & " " & wsh.Name & ".pdf"
           wsh.ExportAsFixedFormat Type:=xlTypePDF, Filename:=strFilePDF, _
           Quality:=xlQualityStandard, IncludeDocProperties:=True, _
           IgnorePrintAreas:=False, From:=1, To:=1, OpenAfterPublish:=False
       Next wsh
    End Sub
  4. Passe den Speicherpfad an:

    • Ersetze "C:\DeinPfad\" mit dem gewünschten Speicherort auf deinem Computer.
  5. Führe das Makro aus:

    • Drücke F5, um das Makro auszuführen. Alle Tabellenblätter werden als einzelne PDFs gespeichert.

Häufige Fehler und Lösungen

  • Laufzeitfehler beim Speichern:

    • Ursache: Der Speicherpfad ist falsch oder enthält unzulässige Zeichen.
    • Lösung: Überprüfe den Pfad und stelle sicher, dass die Zelle (in diesem Beispiel A5) keinen Fehlerwert enthält.
  • PDFs überschreiben sich:

    • Ursache: Der Dateiname ist nicht eindeutig.
    • Lösung: Füge den Blattnamen zum Dateinamen hinzu, wie im obigen Beispiel gezeigt.

Alternative Methoden

Falls Du kein VBA verwenden möchtest, kannst Du auch manuell mehrere Arbeitsblätter als PDF speichern:

  1. Halte die STRG-Taste gedrückt und wähle die gewünschten Blätter aus.
  2. Gehe zu „Datei“ > „Drucken“.
  3. Wähle „Microsoft Print to PDF“ als Drucker.
  4. Klicke auf „Drucken“ und wähle einen Speicherort.

Diese Methode eignet sich besonders, wenn Du nur gelegentlich mehrere Tabellenblätter als PDF speichern möchtest.


Praktische Beispiele

Beispiel 1: Speichern aller Arbeitsblätter als PDF

Sub alleArbeitsblaetterAlsPDFspeichern()
    Dim wks As Worksheet
    For Each wks In ActiveWorkbook.Worksheets
        wks.ExportAsFixedFormat Type:=xlTypePDF, Filename:="C:\DeinPfad\" & wks.Name & ".pdf", _
        Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False
    Next wks
End Sub

Beispiel 2: Speichern von mehreren Tabellenblättern in eine PDF

Sub mehrereBlaetterInEinePDFspeichern()
    Dim strFilePDF As String
    strFilePDF = "C:\DeinPfad\AlleBlaetter.pdf"
    ThisWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:=strFilePDF, Quality:=xlQualityStandard
End Sub

Tipps für Profis

  • Benutze Fehlerbehandlung: Füge eine Fehlerbehandlung in Dein Makro ein, um Laufzeitfehler zu vermeiden.

    On Error Resume Next
  • Automatisiere das Speichern: Du kannst das Makro so anpassen, dass es automatisch beim Öffnen der Datei ausgeführt wird.

  • Nutze Variablen für Dateinamen: Ersetze feste Dateinamen durch Variablen, um die Wartbarkeit des Codes zu erhöhen.


FAQ: Häufige Fragen

1. Wie kann ich mehrere Tabellenblätter in ein PDF speichern? Du kannst das oben stehende Makro „mehrereBlaetterInEinePDFspeichern“ verwenden, um alle Blätter in ein PDF zu exportieren.

2. Was tun, wenn der Speicherpfad nicht funktioniert? Überprüfe den Pfad auf Schreibrechte und stelle sicher, dass der Zielordner existiert.

3. Kann ich die Seitenanzahl beim Exportieren anpassen? Ja, ändere die Parameter From und To im ExportAsFixedFormat-Befehl, um verschiedene Seiten anzugeben.

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