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

Forumthread: Tabellenblatt als PDF Speichern

Tabellenblatt als PDF Speichern
11.04.2016 19:48:48
Armbruster
Hallo Leute,
ich würde gerne mein Tabellenblatt ("Rechnungsvorlage") als PDF in einem Ordner abspeichern. _
dafür habe ich folgenden Code:

Sub SpeichernalsPDF()
' SpeichernalsPDF Makro
Range("A10:F14").Select
Range("A1:H35").Select
ChDir "C:\Users\Felix\Desktop\Rechnungen"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\Users\Felix\Desktop\Rechnungen\Rechnung.pdf" & Cells(6, 8).Value, Quality:= _
xlQualityStandard _
, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
False
End Sub

Jetzt hätte ich aber gerne, dass die PDF-Datei dynamisch immer die Bezeichnung Rechnung + der Wert der in Zelle G11 des Tabellenblattes steht hat.
Wäre echt toll, wenn Ihr mir weiterhelfen könntet und den Code um die fehlenden Informaionen optimiert.
MFG Felix

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Tabellenblatt als PDF Speichern
11.04.2016 21:08:22
Fennek
Hallo Felix,
eine übliche Variante wäre

sPfad = "c:\ dein Pfad \"
sDatei = "Rechnung" & cells(11, "G") & ".pdf"
und dann beim Exportiren anzugeben: filename:=sPfad&sDatei
Mfg

AW: Tabellenblatt als PDF Speichern
15.04.2016 16:07:05
Armbruster
Vielen Dank! Funktioniert super.
Jetzt hätte ich noch eine Frage zur Verfeinerung. Ich hätte gerne zwischen Rechnung und dem Wert aus G11 eine Leerzeile ist.
Gruß Felix
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Tabellenblatt als PDF speichern in Excel


Schritt-für-Schritt-Anleitung

Um ein einzelnes Tabellenblatt als PDF zu speichern, kannst Du den folgenden VBA-Code verwenden. Dieser Code speichert das Arbeitsblatt "Rechnungsvorlage" in einem bestimmten Ordner als PDF.

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Füge ein neues Modul hinzu, indem Du im Menü auf Einfügen > Modul klickst.
  3. Kopiere den folgenden Code in das Modul:
Sub SpeichernalsPDF()
    Dim sPfad As String
    Dim sDatei As String
    sPfad = "C:\Users\Felix\Desktop\Rechnungen\"
    sDatei = "Rechnung " & Cells(11, "G").Value & ".pdf"

    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=sPfad & sDatei, Quality:= _
        xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
End Sub
  1. Schließe den VBA-Editor und gehe zurück zu Excel.
  2. Führe das Makro aus, um das Tabellenblatt als PDF zu speichern.

Häufige Fehler und Lösungen

  • Fehler: "Der Dateiname ist ungültig."

    • Lösung: Stelle sicher, dass der Wert in Zelle G11 keine ungültigen Zeichen für Dateinamen enthält (z.B. /, \, :, *, ?, ", <, >, |).
  • Fehler: "Das Arbeitsblatt kann nicht exportiert werden."

    • Lösung: Überprüfe, ob das Arbeitsblatt korrekt benannt ist und ob Du das richtige Blatt aktiv hast, wenn Du das Makro ausführst.

Alternative Methoden

Wenn Du das Arbeitsblatt als PDF speichern möchtest, ohne VBA zu verwenden, kannst Du die integrierte Funktion in Excel nutzen:

  1. Gehe zu Datei > Speichern unter.
  2. Wähle den Speicherort aus.
  3. Ändere den Dateityp auf "PDF".
  4. Klicke auf Optionen, um die Einstellung für den Export zu ändern (z.B. nur das aktive Blatt).
  5. Klicke auf Speichern.

Diese Methode ist einfach, wenn Du kein VBA verwenden möchtest, jedoch bietet VBA mehr Flexibilität.


Praktische Beispiele

Hier ist ein Beispiel, wie Du den Code anpassen kannst, um eine Leerzeile zwischen "Rechnung" und dem Wert aus Zelle G11 hinzuzufügen:

sDatei = "Rechnung " & vbCrLf & Cells(11, "G").Value & ".pdf"

Mit vbCrLf wird eine neue Zeile erzeugt. Beachte jedoch, dass dies bei der Benennung von Dateien nicht funktioniert, da Dateinamen keine Zeilenumbrüche enthalten dürfen. Verwende stattdessen ein Leerzeichen oder einen Bindestrich.


Tipps für Profis

  • Verwende xlQualityMinimum, wenn die Dateigröße wichtiger ist als die Qualität des PDFs.
  • Um den Dateipfad dynamisch zu gestalten, könntest Du eine Eingabeaufforderung hinzufügen, um den Speicherort zur Laufzeit auszuwählen.

Ein Beispiel für den dynamischen Dateipfad:

sPfad = Application.InputBox("Gib den Speicherort ein:", "Speicherort", "C:\Users\Felix\Desktop\Rechnungen\")

FAQ: Häufige Fragen

1. Wie kann ich ein einzelnes Blatt als PDF speichern?
Du kannst den oben genannten VBA-Code verwenden, um nur das aktive Blatt als PDF zu speichern.

2. Kann ich den PDF-Namen anpassen?
Ja, Du kannst den Dateinamen im Code anpassen, indem Du den String für sDatei änderst.

3. Welche Excel-Version benötige ich für diese Funktionen?
Die beschriebenen Funktionen sind in Excel 2010 und höheren Versionen verfügbar.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige