Tabellenblätter einzeln als PDF speichern
Schritt-für-Schritt-Anleitung
- Öffne Excel: Stelle sicher, dass Du die richtige Excel-Version (z.B. Excel 2016) verwendest.
- Öffne das VBA-Editor-Fenster: Drücke
ALT + F11
.
- Erstelle ein neues Modul: Klicke auf
Einfügen
und wähle Modul
.
- Füge den folgenden Code ein:
Private Sub CommandButton3_Click()
Dim strPath As String, strFilename As String, strName2 As String
Dim objSh As Worksheet
With Application.FileDialog(msoFileDialogFolderPicker)
.InitialFileName = ThisWorkbook.Path
.Title = "PDF-Export Ordnerauswahl"
.ButtonName = "Erstellen"
.InitialView = msoFileDialogViewList
If .Show = -1 Then
strPath = .SelectedItems(1)
If Right(strPath, 1) <> "\" Then strPath = strPath & "\"
End If
End With
If Len(strPath) Then
With Sheets("Bauteil")
strFilename = strPath & .Range("D10").Text & "_" & .Range("B15") & "_" & _
.Range("D4") & "_" & .Range("D3") & "_" & .Range("D2") & "_"
End With
For Each objSh In ThisWorkbook.Worksheets
Select Case objSh.Name
Case "Vorgaben", "Bauteil"
' Skip these sheets
Case Else
If objSh.Name = "MT" Then strName2 = objSh.Range("Z42")
If objSh.Name = "UT" Then strName2 = objSh.Range("V40")
objSh.ExportAsFixedFormat Type:=xlTypePDF, _
Filename:=strFilename & objSh.Name & strName2 & ".pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
End Select
Next
MsgBox "PDF-Dateien wurden erstellt!"
End If
End Sub
- Passe den Code an: Ändere die Zellreferenzen nach Bedarf.
- Starte das Makro: Klicke auf den Button, um die PDFs zu erstellen.
Häufige Fehler und Lösungen
- Laufzeitfehler 1004: Dieser Fehler tritt häufig auf, wenn der Pfad oder der Dateiname ungültige Zeichen enthält. Überprüfe die Inhalte der Zellen, die im Dateinamen verwendet werden.
- PDF wird nicht erstellt: Stelle sicher, dass Du die erforderlichen Zugriffsrechte auf den Speicherort hast.
- Falsches Datumsformat: Achte darauf, dass das Datum in der Zelle im richtigen Format (JJJJ.MM.TT) vorliegt.
Alternative Methoden
Wenn Du kein VBA verwenden möchtest, kannst Du auch die Excel-Funktion "Drucken" nutzen:
- Wähle das gewünschte Tabellenblatt aus.
- Gehe zu
Datei
> Drucken
.
- Wähle "Microsoft Print to PDF" als Drucker.
- Klicke auf
Drucken
und wähle den Speicherort.
Diese Methode eignet sich gut, wenn Du nur ein einzelnes Tabellenblatt als PDF speichern möchtest.
Praktische Beispiele
-
Einzelnes Tabellenblatt speichern: Um nur ein Tabellenblatt als PDF zu speichern, kannst Du den Namen des Blattes in das Makro anpassen, sodass nur dieses Blatt exportiert wird.
-
Mehrere Tabellenblätter speichern: Setze im Code eine Schleife ein, um mehrere Blätter nacheinander als PDFs zu speichern.
For Each objSh In ThisWorkbook.Worksheets
If objSh.Name <> "Vorgaben" Then
' Exportiere das Blatt als PDF
End If
Next
Tipps für Profis
- Benutzerdefinierte Dateinamen: Verwende Daten aus verschiedenen Zellen, um dynamische Dateinamen zu erstellen.
- Fehlermeldungen anpassen: Füge spezifische Fehlermeldungen hinzu, um die Nutzung zu erleichtern.
- Makro schützen: Überlege, das Makro zu schützen, um zu verhindern, dass andere Benutzer die Logik ändern.
FAQ: Häufige Fragen
1. Kann ich mehrere Tabellenblätter in einer PDF speichern?
Ja, Du kannst den Code so anpassen, dass er mehrere Tabellenblätter in einer einzelnen PDF-Datei speichert.
2. Was kann ich tun, wenn das PDF nicht geöffnet wird?
Stelle sicher, dass der Speicherort korrekt ist und Du über die erforderlichen Berechtigungen verfügst.
3. Wie kann ich das Format des Dateinamens ändern?
Ändere die entsprechenden Zellreferenzen im VBA-Code, um das gewünschte Format zu erhalten.