Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: PDF Speichern mit VBA

PDF Speichern mit VBA
30.03.2018 10:02:06
Tina.
Hallo
Wie kann ich 2 Arbeitsblätter mit VBA als PDF Speichern?
erste Arbeitsblatt heißt Reservierung
zweite Arbeitsblatt heißt Rückbestätigung
Der Speicherort sollte D:\PDF sein
Ich habe es auch schon mit einem Makro Versucht,
geht aber nicht da immer die Meldung kommt
wo gespeichert werden soll.
Sage erst mal Danke
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: PDF Speichern mit VBA
30.03.2018 10:03:57
Hajo_Zi
benutze den Makrorekoder.

Beiträge von Werner, Luc, robert, J.O.Maximo und folgende lese ich nicht.
AW: PDF Speichern mit VBA
30.03.2018 13:07:35
Markus
Geehrter Hajo
Tina wird selbst den Makrorekorder versucht haben.
Für Nicht-Spezi's finde ich halt das Forum gut.
Was ich aber nicht so gut finde, sind Deine patzigen Antworten.
Markus aus der Schweiz
Anzeige
AW: PDF Speichern mit VBA
30.03.2018 14:54:58
Hajo_Zi
das konnte ich nicht sehen, da ich nicht auf fremde Rechner schaue.
Gruß Hajo
AW: PDF Speichern mit VBA
30.03.2018 10:06:20
Bernd
Hi,
meinst Du so:
Sub pdf()
ChDir "D:\pdf"
ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"D:\pdf\Mappe1.pdf", Quality:=xlQualityStandard, IncludeDocProperties:=True _
, IgnorePrintAreas:=False, OpenAfterPublish:=False
End Sub

MfG Bernd
Anzeige
AW: PDF Speichern mit VBA
30.03.2018 10:07:09
Daniel
Hi
Speichere die beiden Blätter als PDF (in Speichern Unter ab Excel 2007 verfügbar) und zeichne die Aktion mit dem Recorder auf.
Dann siehst du im aufgezeichneten Code, wie und wo du den Dateinamen angeben musst.
Gruß Daniel
AW: Danke
30.03.2018 10:32:58
Tina.
Danke euch
Hajo_Zi
Bernd und Daniel
;

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

PDF Speichern mit VBA in Excel


Schritt-für-Schritt-Anleitung

Um in Excel VBA ein Arbeitsblatt als PDF zu speichern, kannst Du die folgende Schritt-für-Schritt-Anleitung befolgen. Diese Anleitung geht davon aus, dass Du Excel 2007 oder eine neuere Version verwendest.

  1. Öffne Excel und gehe zu dem Arbeitsblatt, das Du speichern möchtest.

  2. Öffne den VBA-Editor: Drücke ALT + F11.

  3. Füge ein neues Modul hinzu: Klicke mit der rechten Maustaste auf "VBAProject (DeineDatei.xlsx)", wähle "Einfügen" und dann "Modul".

  4. Füge den folgenden Code ein, um zwei Arbeitsblätter als PDF zu speichern:

    Sub pdfSpeichern()
       Dim ws1 As Worksheet
       Dim ws2 As Worksheet
       Dim pdfPfad As String
    
       pdfPfad = "D:\PDF\"
       Set ws1 = ThisWorkbook.Worksheets("Reservierung")
       Set ws2 = ThisWorkbook.Worksheets("Rückbestätigung")
    
       ' Beide Blätter als PDF speichern
       ws1.ExportAsFixedFormat Type:=xlTypePDF, Filename:=pdfPfad & "Reservierung.pdf"
       ws2.ExportAsFixedFormat Type:=xlTypePDF, Filename:=pdfPfad & "Rückbestätigung.pdf"
    End Sub
  5. Speichere Deinen Code und schließe den VBA-Editor.

  6. Führe das Makro aus: Gehe zu "Entwicklertools" > "Makros" und wähle pdfSpeichern aus.


Häufige Fehler und Lösungen

  • Fehler: Speicherort nicht gefunden

    • Lösung: Stelle sicher, dass der angegebene Speicherort (z.B. "D:\PDF\") existiert. Erstelle den Ordner gegebenenfalls manuell.
  • Fehler: Arbeitsblatt nicht gefunden

    • Lösung: Überprüfe, ob die Arbeitsblätter genau so benannt sind, wie im Code angegeben ("Reservierung" und "Rückbestätigung").
  • Fehler: Zugriff verweigert

    • Lösung: Überprüfe die Berechtigungen für den Zielordner. Stelle sicher, dass Du Schreibrechte hast.

Alternative Methoden

Falls Du eine andere Methode bevorzugst, kannst Du auch den Makrorekorder benutzen:

  1. Starte den Makrorekorder: Gehe zu "Entwicklertools" > "Makro aufzeichnen".
  2. Führe die Aktion aus, die Du speichern möchtest: Datei > Speichern unter > wähle PDF als Dateiformat.
  3. Beende die Aufzeichnung und schaue Dir den generierten VBA-Code an. Dieser kann als Grundlage für Deine eigenen Makros dienen.

Praktische Beispiele

Wenn Du ein spezifisches Arbeitsblatt oder einen Bereich als PDF speichern möchtest, kannst Du den Code entsprechend anpassen:

Sub bereichAlsPDFSpeichern()
    Dim pdfPfad As String
    pdfPfad = "D:\PDF\Bereich.pdf"

    ' Bereich A1:B10 als PDF speichern
    ThisWorkbook.Worksheets("Tabelle1").Range("A1:B10").ExportAsFixedFormat Type:=xlTypePDF, Filename:=pdfPfad
End Sub

Tipps für Profis

  • Dateinamen dynamisch gestalten: Du kannst den Dateinamen mit Datum und Uhrzeit versehen, um Überschreibungen zu vermeiden:

    Filename:= pdfPfad & "Reservierung_" & Format(Now, "YYYYMMDD_HHMMSS") & ".pdf"
  • Druckbereich festlegen: Setze einen Druckbereich, bevor Du das PDF speicherst, um nur die relevanten Inhalte zu exportieren.


FAQ: Häufige Fragen

1. Frage
Wie kann ich mehrere Arbeitsblätter in einem einzelnen PDF speichern?
Antwort: Du kannst die ExportAsFixedFormat-Methode auf die gesamte Arbeitsmappe anwenden:

ThisWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:="D:\PDF\Gesamt.pdf"

2. Frage
Kann ich den Benutzer nach dem Speicherort fragen?
Antwort: Ja, verwende dazu den Application.GetSaveAsFilename-Dialog:

Dim pdfPfad As String
pdfPfad = Application.GetSaveAsFilename(FileFilter:="PDF Files (*.pdf), *.pdf")
If pdfPfad <> "False" Then
    ' Speichere hier das PDF
End If

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