Mehrere Registerkarten als PDF speichern mit VBA
Schritt-für-Schritt-Anleitung
Um mehrere Registerkarten in Excel als PDF zu speichern, kannst du den folgenden VBA-Code verwenden. Dieser Code speichert die Registerkarten "Abweichungsübersicht", "Tägliche Ausbringung Bonden TO", "Lieferzahlen SMD022-070" und "Ablieferung an W050" in einem festgelegten Ordner.
- Öffne Excel und drücke
ALT + F11
, um den VBA-Editor zu öffnen.
- Klicke im Menü auf
Einfügen
und wähle Modul
, um ein neues Modul zu erstellen.
- Füge den folgenden Code in das Modul ein:
Option Explicit
Public Sub PDF_drucken()
Const PDF_FOLDER As String = "C:\Users\HMS7RT\Desktop\Daily Wiki\"
Dim strFilePath As String
Dim objActiveSheet As Object
With Worksheets("Auswertung Wikidaten")
strFilePath = PDF_FOLDER & .Cells(2, 14).Text & .Cells(2, 15).Text
End With
Set objActiveSheet = ActiveSheet
Call Worksheets(Array("Abweichungsübersicht", "Tägliche Ausbringung Bonden TO", _
"Lieferzahlen SMD022-070", "Ablieferung an W050")).Select
Call Worksheets("Abweichungsübersicht").ExportAsFixedFormat(Type:=xlTypePDF, _
Filename:=strFilePath, Quality:=xlQualityStandard, IncludeDocProperties:=True, _
IgnorePrintAreas:=False, OpenAfterPublish:=True)
objActiveSheet.Select
Set objActiveSheet = Nothing
End Sub
- Schließe den VBA-Editor und gehe zurück zu Excel.
- Du kannst das Makro nun über
Entwicklertools > Makros
ausführen oder einen Button erstellen, um das Skript per Knopfdruck auszuführen.
Häufige Fehler und Lösungen
-
Fehler: "Dateipfad nicht gefunden"
Überprüfe, ob der angegebene Pfad korrekt ist und ob der Ordner existiert.
-
Fehler: "Makro kann nicht ausgeführt werden"
Stelle sicher, dass die Makros aktiviert sind. Gehe zu Datei > Optionen > Trust Center > Einstellungen für das Trust Center > Makroeinstellungen
.
-
Fehler: "Worksheet not found"
Überprüfe die Schreibweise der Arbeitsblattnamen im Code und stelle sicher, dass sie genau übereinstimmen.
Alternative Methoden
Falls du keine VBA-Programmierung nutzen möchtest, kannst du die Registerkarten auch manuell als PDF speichern:
- Wähle die Registerkarten aus, die du speichern möchtest, indem du
Strg
gedrückt hältst und auf die gewünschten Registerkarten klickst.
- Klicke auf
Datei > Drucken
.
- Wähle
Microsoft Print to PDF
als Drucker aus.
- Klicke auf
Drucken
und wähle den Speicherort aus.
Praktische Beispiele
Hier ist ein einfaches Beispiel für das Speichern von zwei Registerkarten:
Call Worksheets(Array("Tägliche Ausbringung Bonden TO", "Lieferzahlen SMD022-070")).Select
Du kannst diese Zeile einfach anpassen, um andere Registerkarten auszuwählen, die du speichern möchtest.
Tipps für Profis
- Nutze die
Workbook_BeforeClose
-Ereignisprozedur, um das PDF automatisch zu speichern, wenn du die Arbeitsmappe schließt.
- Verwende Fehlerbehandlungsroutinen in deinem VBA-Code, um unerwartete Fehler effektiv zu handhaben.
FAQ: Häufige Fragen
1. Kann ich auch mehr als vier Registerkarten speichern?
Ja, du kannst die Anzahl der Registerkarten im Array anpassen, um so viele wie nötig zu speichern.
2. Muss ich Excel 2016 oder höher verwenden?
Der bereitgestellte VBA-Code sollte in den meisten neueren Excel-Versionen funktionieren. Es wird jedoch empfohlen, Excel 2016 oder höher zu verwenden, um sicherzustellen, dass alle Funktionen unterstützt werden.