PDF-Ausgabe eines definierten Bereichs in Excel mit VBA
Schritt-für-Schritt-Anleitung
Um einen bestimmten Bereich in Excel als PDF zu speichern, kannst du folgenden VBA-Code verwenden. Dieser speichert den markierten Bereich als PDF mit einem fortlaufenden Dateinamen:
Sub PDFBericht_Klicken()
ChDir "\\mein Server\Angebote\Auswertung"
Sheets("auswertung").Range("A3:C8").ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=Range("A9").Value & "pdf", _
Quality:=xlQualityStandard, _
IncludeDocProperties:=False, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=False
End Sub
Ersetze den Pfad \\mein Server\Angebote\Auswertung
durch den gewünschten Speicherort. Achte darauf, dass der Zielordner existiert und du die erforderlichen Berechtigungen hast. Der Bereich A3:C8
ist der Teil deiner Tabelle, den du als PDF exportieren möchtest.
Häufige Fehler und Lösungen
Fehler 1: Fehlermeldung beim Ausführen des Codes
Wenn der Code nicht funktioniert, überprüfe folgende Punkte:
- Ist der angegebene Speicherort korrekt?
- Existiert der Zielordner?
- Ist der Dateiname in
Range("A9").Value
korrekt und enthält er keine ungültigen Zeichen?
Fehler 2: PDF wird nicht erstellt
Wenn kein PDF generiert wird, stelle sicher, dass:
- Der Bereich
A3:C8
tatsächlich Daten enthält.
- Die Excel-Datei nicht schreibgeschützt ist.
Alternative Methoden
Neben der Verwendung von VBA kannst du auch manuell einen Bereich in Excel als PDF speichern:
- Markiere den gewünschten Bereich.
- Klicke auf
Datei
> Drucken
.
- Wähle den Drucker „Microsoft Print to PDF“ aus.
- Klicke auf
Drucken
und wähle den Speicherort.
Diese Methode eignet sich gut, wenn du keinen VBA-Code verwenden möchtest.
Praktische Beispiele
Beispiel 1: PDF eines bestimmten Bereichs speichern
Wenn du den Bereich B2:D10
als PDF speichern möchtest, ändere den Code wie folgt:
Sheets("auswertung").Range("B2:D10").ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=Range("A9").Value & "pdf", _
Quality:=xlQualityStandard, _
IncludeDocProperties:=False, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=False
Beispiel 2: Nur markierten Bereich speichern
Um nur den aktuell markierten Bereich als PDF zu speichern, verwende:
Selection.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:="C:\DeinPfad\DeinDateiname.pdf", _
Quality:=xlQualityStandard, _
IncludeDocProperties:=False, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=False
Tipps für Profis
- Verwende
IgnorePrintAreas:=True
, wenn du die Druckbereiche ignorieren möchtest und stattdessen den gesamten Inhalt des angegebenen Bereichs exportieren willst.
- Experimentiere mit dem Parameter
Quality
, um die Qualität des PDFs anzupassen. Setze ihn auf xlQualityMinimum
, um die Dateigröße zu reduzieren.
- Achte darauf, dass der Dateiname immer einzigartig ist, um Überschreibungen zu vermeiden. Du kannst z.B. das aktuelle Datum und die Uhrzeit in den Dateinamen einfügen.
FAQ: Häufige Fragen
1. Wie speichere ich einen ausgewählten Bereich als PDF?
Du kannst den ausgewählten Bereich mit der Methode ExportAsFixedFormat
speichern, indem du die Selection
-Eigenschaft verwendest.
2. Kann ich mehrere Bereiche in einem PDF speichern?
Ja, du kannst mehrere Bereiche in einer PDF-Datei kombinieren, indem du sie in ein neues Arbeitsblatt kopierst und dann das gesamte Arbeitsblatt als PDF exportierst.
3. Welche Excel-Version benötige ich für diesen VBA-Code?
Der Code ist mit Excel 2010 und späteren Versionen kompatibel. Achte darauf, dass du die Makros aktiviert hast.