in Excel2010 ist es ja möglich ein Arbeitsblatt direkt als PDF zu speichern.
Gibt es eine VBA Möglichkeit mehrere ausgewählte Arbeitsblätter in eine PDF Datei zu speichern?
Gruß Andy
Sub saveAsPDF()
Dim vntFile As Variant
vntFile = Application.GetSaveAsFilename(ThisWorkbook.Path & "\" & ActiveSheet.Name & ".pdf", _
"PDF Dateien (*.pdf), *.pdf", Title:="Als PDF Speichern")
If vntFile <> False Then
ActiveSheet.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=vntFile, _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=False
End If
End Sub
Sub Sheets2PDF()
Sheets(Array("Tabelle1", "Tabelle2", "Tabelle3")).Select
Selection.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=ThisWorkbook.Path & "\Mappe.pdf", _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=True
End Sub
Gruß AndyUm in Excel mehrere Arbeitsblätter als PDF zu speichern, kannst du ein einfaches VBA-Makro verwenden. Folgende Schritte helfen dir dabei:
Öffne Excel und drücke ALT + F11
, um den VBA-Editor zu öffnen.
Klicke auf Einfügen
und dann auf Modul
, um ein neues Modul zu erstellen.
Füge den folgenden Code in das Modul ein:
Sub Sheets2PDF()
Sheets(Array("Tabelle1", "Tabelle2", "Tabelle3")).Select
Selection.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=ThisWorkbook.Path & "\Mappe.pdf", _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=True
End Sub
Ändere die Namen der Tabellenblätter in der Sheets(Array(...))
-Zeile entsprechend deinen Arbeitsblättern.
Schließe den VBA-Editor und gehe zurück zu Excel.
Führe das Makro aus, indem du ALT + F8
drückst, das Makro auswählst und auf Ausführen
klickst.
Jetzt solltest du eine PDF-Datei mit mehreren Tabellenblättern erstellt haben!
Fehler: "Das angegebene Arbeitsblatt konnte nicht gefunden werden."
Fehler: PDF wird nicht erstellt.
Fehler: Makro funktioniert nicht.
Datei > Optionen > Sicherheitscenter > Einstellungen für das Sicherheitscenter
).Manuelles Speichern:
Datei > Drucken
wählen und den Drucker auf Microsoft Print to PDF
setzen.Spezielle Software:
Add-Ins:
Beispiel 1: Speichere die Blätter "Umsatz", "Kosten" und "Gewinn" in einer PDF:
Sub SheetsToPDFExample()
Sheets(Array("Umsatz", "Kosten", "Gewinn")).Select
Selection.ExportAsFixedFormat Type:=xlTypePDF, Filename:="C:\DeinPfad\Finanzen.pdf", Quality:=xlQualityStandard
End Sub
Beispiel 2: Speichere alle Blätter der Arbeitsmappe in einer PDF:
Sub AllSheetsToPDF()
ThisWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:="C:\DeinPfad\AlleBlätter.pdf", Quality:=xlQualityStandard
End Sub
ExportAsFixedFormat
, um z.B. die Qualität oder die Druckbereiche anzupassen.On Error Resume Next
, um das Makro robuster zu machen.1. Kann ich auch nur einen bestimmten Bereich als PDF speichern?
Ja, du kannst den Bereich angeben, den du exportieren möchtest, indem du Range("A1:D10").ExportAsFixedFormat ...
verwendest.
2. Wie kann ich mehrere Excel-Dateien in eine PDF speichern?
Das erfordert ein komplexeres VBA-Skript, das jede Datei öffnet, die gewünschten Blätter auswählt und dann exportiert.
3. Funktioniert das auch in Excel 365?
Ja, der VBA-Code ist für alle aktuellen Excel-Versionen, einschließlich Excel 365, geeignet.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen