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

Forumthread: Einzelnes Tabellenblatt als PDF Speichern

Einzelnes Tabellenblatt als PDF Speichern
09.08.2015 17:43:16
Hans
Hallo Forum,
ich nutze Excel 2007 und damit auch die Möglichkeit Dokumente im PDF Format zu speichern.
Ein entsprechendes Makro hatte ich mir schon zusammen gebastelt, dass ist aber nicht gegangen, weil die ganze Arbeitsmappe zu einer PDF gemacht wurde und die Datei dann von keinem PDF Reader geöffnet werden konnte.
Wie bekomme ich es hin, dass mir nur ein bestimmtes Tabellenblatt als PDF gespeichert wird?
Vielen Dank für eure Hilfe
HANS

Anzeige

16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Einzelnes Tabellenblatt als PDF Speichern
09.08.2015 18:42:10
Hans
Hallo euch beiden,
ich hab zuerst mal diesen Code eingefügt und angepasst.
Damit wird mir aber "ActiveSheet" als PDF gedruckt.
Wo muss ich nun eintragen, dass mir das Tabellenblatt "Rechnung" als PDF gedruckt wird?
Vielen Dank
HANS
Sub PDF_Print_Sheet()
'Modifiziert
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\Users\Name\Desktop\" & ActiveSheet.Name & ".pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
True
End Sub

Anzeige
AW: Einzelnes Tabellenblatt als PDF Speichern
09.08.2015 19:01:48
Herbert
Hi,
anstatt "activesheet" sheets("Rechnung")!
Servus

AW: Einzelnes Tabellenblatt als PDF Speichern
09.08.2015 18:13:36
Sepp
Hallo Hans,
das geht so.
Sub SaveSheetAsPDF()
Dim strFilename As String

strFilename = "E:\Forum\test.pdf"

ThisWorkbook.Sheets("Tabelle6").ExportAsFixedFormat Type:=xlTypePDF, _
  Filename:=strFilename, Quality:=xlQualityStandard, _
  IncludeDocProperties:=True, IgnorePrintAreas:=False, _
  OpenAfterPublish:=False
End Sub


Gruß Sepp

Anzeige
AW: @Sepp
09.08.2015 18:59:19
Hans
Moin moin,
ich hab das Makro so angepasst, weil der Dateiname dabei übernommen wird.
ThisWorkbook.Sheets("Rechnung")..ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"D:\Google Drive\PDF_Dateien\PDF_2015\" & ActiveSheet.Name & ".pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
True
Mit deinem Makro läuft alles Prima, nur wird der Dateiname nicht übernommen und der Speicherpfad ist falsch... Gut, den Pfad anzupassen sollte selbst für mich zu schaffen sein, aber wie bekomme ich den Speichernamen hin?
PFAD: D:\Google Drive\PDF_Dateien\PDF_2015\DATEINAME
Vielen Dank
HANS

Anzeige
AW: @Sepp
09.08.2015 19:02:01
Sepp
Hallo Hans,
passt doch, ausser der .. nach Sheets()
ThisWorkbook.Sheets("Rechnung").ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
  "D:\Google Drive\PDF_Dateien\PDF_2015\" & ActiveSheet.Name & ".pdf", Quality:=xlQualityStandard, _
  IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
  True

Gruß Sepp

Anzeige
AW: Ist dass nicht cool.... Funktioniert prima
09.08.2015 19:10:52
Hans
Moin moin,
ich danke euch beiden, das klappt prima....
Vielen lieben dank
HANS

AW: Ist dass nicht cool.... Funktioniert prima
09.08.2015 19:10:58
Hans
Moin moin,
ich danke euch beiden, das klappt prima....
Vielen lieben dank
HANS

AW: Doch noch nicht ganz gelöst....
09.08.2015 20:32:54
Hans
Moin moin,
mir ist gerade aufgefallen, dass die PDF immer unter dem Namen "Eingabe" gespeichert wird....
Das geht natürlich gar nicht.....
Hier nochmal das Makro
Private Sub CommandButton6_Click()
' PDF_Drucken Makro
' Tastenkombination: Strg+p
Dim strFilename As String
ChDir _
"D:\Google Drive\Catering Schulz\Catering\PDF Dateien\PDF_2015"
ThisWorkbook.Sheets("Rechnung").ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"D:\Google Drive\Catering Schulz\Catering\PDF Dateien\PDF_2015\" & ActiveSheet.Name & ".pdf",  _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
True
End Sub
Speichername der Datei wird im Arbeitsblatt "Eingabe" Zelle E118 erstellt
Vielen Dank
HANS

Anzeige
AW: Doch noch nicht ganz gelöst....
09.08.2015 20:34:57
Sepp
Hallo Hans,
das solltest du aber mittlerweile schon selber hinkriegen.
Statt
& ActiveSheet.Name & ".pdf"

einfach
& Sheets("Eingabe").Range("E118").Text & ".pdf"
Gruß Sepp

Anzeige
AW: Doch noch nicht ganz gelöst....
09.08.2015 20:52:29
Hans
Moin moin Sepp,
ich Volltrottel hab versehentlich meine Vorlagenmappe gelöscht... Nun muss ich wieder auf eine alte Datei zurückgreifen... Daher auch meine Probleme.....
Ich bin kein Meister mit VBA und kann nur einfache Sachen mit dem Makro Recorder machen....
Ich hab deinen Vorschlag mal in den Code eingefügt, bekomme dann aber einen Laufzeitfehler angezeigt.
Laufzeitfehler 2147024773 (8007007b)
Datei wurde nicht gespeichert.
Beim Debuggen ist dann dass hier alles gelb:
ThisWorkbook.Sheets("Rechnung").ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"D:\Google Drive\Catering Schulz\Catering\PDF Dateien\PDF_2015\" & Sheets("Eingabe").Range("E118").Text & ".pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
True
Alleine bekomme ich das wohl nicht hin...
HANS

Anzeige
AW: Doch noch nicht ganz gelöst....
09.08.2015 20:56:11
Sepp
Hallo Hans,
kann keinen Fehler erkennen, existiert der Pfad?
Gruß Sepp

AW: Doch noch nicht ganz gelöst....
09.08.2015 21:04:23
Hans
Moin moin,
also....
Da der Google Drive Ordner ja ein Ordner in der "Cloud" ist, hatte ich eben einen kleinen Fehler angezeigt bekommen. Darauf hin hab ich den PC neu gestartet und der Fehler ist weg. Alle Dateien wurden aktualisiert.
Nun hab ich 10x nachgesehen, ob der Pfad stimmt.. Alles OK
Hier nochmal der komplette Code.....
Private Sub CommandButton6_Click()
' PDF_Drucken Makro
' Tastenkombination: Strg+p
Dim strFilename As String
ChDir _
"D:\Google Drive\Catering Schulz\Catering\PDF Dateien\PDF_2015"
ThisWorkbook.Sheets("Rechnung").ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"D:\Google Drive\Catering Schulz\Catering\PDF Dateien\PDF_2015\" & Sheets("Eingabe").Range(" _
E118").Text & ".pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
True
End Sub

Ich übe ja fleißig VBA aber leider geht das noch nicht so gut. Mit dem Makro Recorder komme ich schon gut klar und das schult ja auch....
HANS

Anzeige
Noch offen?
09.08.2015 21:06:17
Sepp
Hallo Hans,
ist jetzt alles OK, oder ist die Frage noch offen?
Gruß Sepp

AW: Noch offen?
09.08.2015 21:10:00
Hans
Hach... ich vergesse immer den Haken..
HANS

Dann zu oder? owT
10.08.2015 10:22:17
AlexG
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

Einzelnes Tabellenblatt als PDF speichern in Excel


Schritt-für-Schritt-Anleitung

Um ein einzelnes Tabellenblatt in Excel als PDF zu speichern, kannst Du ein VBA-Makro verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu starten.

  2. Wähle Einfügen > Modul, um ein neues Modul zu erstellen.

  3. Füge den folgenden Code in das Modul ein:

    Sub PDF_Print_Sheet()
       ThisWorkbook.Sheets("Rechnung").ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
       "D:\Google Drive\PDF_Dateien\PDF_2015\" & Sheets("Eingabe").Range("E118").Text & ".pdf", _
       Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True
    End Sub
  4. Stelle sicher, dass Du den Namen des Tabellenblattes (hier "Rechnung") und den Speicherpfad anpasst.

  5. Schließe den VBA-Editor und kehre zu Excel zurück.

  6. Führe das Makro aus, indem Du ALT + F8 drückst, das Makro wählst und auf Ausführen klickst.

Damit wird das angegebene Tabellenblatt als PDF gespeichert.


Häufige Fehler und Lösungen

  • Laufzeitfehler: Wenn Du einen Laufzeitfehler erhältst, stelle sicher, dass der angegebene Speicherpfad existiert. Überprüfe auch, ob die Datei bereits geöffnet ist.
  • Falscher Dateiname: Wenn der Dateiname nicht korrekt übernommen wird, stelle sicher, dass die Zelle mit dem Dateinamen korrekt referenziert wird, z. B. Sheets("Eingabe").Range("E118").Text.
  • PDF wird nicht geöffnet: Wenn das PDF nicht geöffnet werden kann, könnte dies an einem ungültigen Dateipfad oder einer fehlenden Datei liegen.

Alternative Methoden

Falls Du keine VBA verwenden möchtest, kannst Du auch die integrierte Excel-Funktion nutzen:

  1. Gehe zu dem Tabellenblatt, das Du speichern möchtest.
  2. Klicke auf Datei > Speichern unter.
  3. Wähle den Speicherort und ändere den Dateityp auf PDF.
  4. Klicke auf Optionen und wähle „Aktuelles Blatt“ aus, um nur das aktive Tabellenblatt zu speichern.

Praktische Beispiele

Hier sind einige nützliche Beispiele für das Speichern einzelner Tabellenblätter als PDF:

  1. Speichern eines Rechnungsblatts:

    ThisWorkbook.Sheets("Rechnung").ExportAsFixedFormat Type:=xlTypePDF, Filename:="C:\Rechnungen\Rechnung.pdf"
  2. Speichern eines Berichts:

    ThisWorkbook.Sheets("Monatsbericht").ExportAsFixedFormat Type:=xlTypePDF, Filename:="C:\Berichte\Monatsbericht.pdf"

Du kannst die Dateinamen und Pfade nach Bedarf anpassen.


Tipps für Profis

  • Automatisierung: Du kannst das Makro so programmieren, dass es automatisch bei bestimmten Ereignissen (z. B. beim Schließen der Datei) ausgeführt wird.
  • Anpassung des PDF-Formats: Du kannst die Qualität und die Druckbereiche der PDF-Datei weiter anpassen, indem Du die Parameter im ExportAsFixedFormat-Befehl änderst.
  • Fehlerprotokollierung: Implementiere eine Fehlerbehandlung im VBA-Code, um Probleme während des Speichervorgangs zu erkennen und zu protokollieren.

FAQ: Häufige Fragen

1. Wie kann ich mehrere Blätter als PDF speichern? Du kannst eine Schleife im VBA verwenden, um mehrere Blätter nacheinander zu speichern. Beispiel:

For Each ws In ThisWorkbook.Sheets
    ws.ExportAsFixedFormat Type:=xlTypePDF, Filename:=ws.Name & ".pdf"
Next ws

2. Kann ich den Speicherort für die PDF-Datei auswählen? Ja, Du kannst den Speicherort im VBA-Code anpassen, indem Du den Pfad in der Filename-Eigenschaft änderst.

3. Wie speichere ich nur einen bestimmten Bereich als PDF? Du kannst den Druckbereich festlegen, bevor Du das PDF speicherst, indem Du die PrintArea-Eigenschaft des Arbeitsblatts verwendest:

ThisWorkbook.Sheets("Rechnung").PageSetup.PrintArea = "$A$1:$D$20"

Mit diesen Anleitungen und Tipps solltest Du in der Lage sein, ein einzelnes Tabellenblatt in Excel als PDF zu speichern, ganz nach Deinen Bedürfnissen!

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