Mehrere Arbeitsblätter per Makro als PDF drucken
Schritt-für-Schritt-Anleitung
Um mehrere Arbeitsblätter in Excel als PDF zu drucken, kannst Du ein Makro verwenden. Hier ist eine einfache Anleitung, wie Du dies mit VBA (Visual Basic for Applications) umsetzen kannst:
-
Öffne Excel und gehe zu dem Arbeitsblatt, das Du als PDF drucken möchtest.
-
Drücke ALT + F11, um den VBA-Editor zu öffnen.
-
Klicke auf Einfügen > Modul, um ein neues Modul zu erstellen.
-
Kopiere den folgenden Code in das Modul:
Sub PDF_drucken()
Dim strRelPfad As String
Dim strTitel As String
strTitel = InputBox("Unter welchem Titel abspeichern? (ohne .pdf)", , "Bericht_")
strRelPfad = "C:\" & strTitel
Sheets(Array("Blatt1", "Blatt2", "Blatt3")).Select ' Passe die Blattnamen an
Application.ActivePrinter = "Microsoft Print to PDF" ' Drucker für PDF
ActiveWindow.SelectedSheets.PrintOut Copies:=1, PrintToFile:=True, PrToFileName:=strRelPfad
End Sub
-
Ändere die Blattnamen in der Sheets(Array(...)).Select Zeile entsprechend Deiner Arbeitsblätter.
-
Schließe den VBA-Editor und kehre zu Excel zurück.
-
Führe das Makro aus, indem Du wieder ALT + F8 drückst und das Makro auswählst.
Häufige Fehler und Lösungen
Alternative Methoden
Falls Du kein Makro verwenden möchtest, kannst Du auch die integrierte Funktion von Excel nutzen:
- Wähle die Arbeitsblätter, die Du drucken möchtest.
- Gehe zu Datei > Drucken.
- Wähle Microsoft Print to PDF als Drucker aus.
- Klicke auf Drucken und wähle den Speicherort für die PDF-Datei.
Diese Methode ist einfach, aber bietet nicht die Flexibilität eines Makros.
Praktische Beispiele
Hier ist ein Beispiel, wie Du ein Makro anpassen kannst, um Dateien mit Datumsangaben zu speichern:
Sub PDF_drucken_mit_Datum()
Dim strRelPfad As String
Dim strTitel As String
Dim strDatum As String
strDatum = Format(Date, "YYYYMMDD") ' Aktuelles Datum im Format YYYYMMDD
strTitel = "Bericht_" & strDatum
strRelPfad = "C:\" & strTitel & ".pdf"
Sheets(Array("Blatt1", "Blatt2")).Select
Application.ActivePrinter = "Microsoft Print to PDF"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, PrintToFile:=True, PrToFileName:=strRelPfad
End Sub
Tipps für Profis
- Benutzerdefinierte Dateinamen: Du kannst den Dateinamen dynamisch anpassen, indem Du Variablen wie das aktuelle Datum oder spezifische Zellinhalte nutzt.
- Fehlerbehandlung: Implementiere Fehlerbehandlungsroutinen in Dein Makro, um die Benutzerfreundlichkeit zu erhöhen, z.B. durch das Anzeigen von Fehlermeldungen.
- Batch-Drucken: Wenn Du regelmäßig mehrere PDFs drucken musst, erstelle eine Liste der Blätter und iteriere durch diese.
FAQ: Häufige Fragen
1. Wie kann ich nur einen bestimmten Bereich als PDF drucken?
Du kannst den Bereich angeben, indem Du Range("A1:B10").Select anstelle von Sheets(Array(...)).Select verwendest.
2. Was tun, wenn das Drucken als PDF nicht funktioniert?
Überprüfe die Druckereinstellungen und stelle sicher, dass der PDF-Drucker korrekt installiert ist. Teste auch andere Druckeroptionen in Excel.
3. Kann ich das Makro in verschiedenen Excel-Versionen verwenden?
Ja, der VBA-Code sollte in den meisten modernen Excel-Versionen funktionieren. Stelle sicher, dass Du die richtigen Druckernamen verwendest.