Zellinhalt als Dateiname verwenden und als PDF speichern in Excel
Schritt-für-Schritt-Anleitung
Um in Excel einen Zellinhalt als Dateinamen zu verwenden und die Datei als PDF zu speichern, kannst Du ein Makro in VBA erstellen. Hier ist eine einfache Schritt-für-Schritt-Anleitung:
-
Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
-
Füge ein neues Modul hinzu: Rechtsklick auf "VBAProject (dein Dokument)" > Einfügen > Modul.
-
Kopiere den folgenden Code in das Modul:
Sub Drucken()
' PDF_Drucken Makro
Dim strFilename As String
ChDir "C:\Tabellenauswertung\"
strFilename = Sheets("Tabelle1").Range("B60").Text & ".pdf"
ThisWorkbook.Sheets("Tabelle2").ExportAsFixedFormat Type:=xlTypePDF, _
Filename:="C:\Tabellenauswertung\" & strFilename, _
Quality:=xlQualityStandard, IncludeDocProperties:=True, _
IgnorePrintAreas:=False, OpenAfterPublish:=False
End Sub
-
Schließe den VBA-Editor und gehe zurück zu Excel.
-
Füge einen Button hinzu: Gehe zu "Entwicklertools" > "Einfügen" > wähle einen Button aus und ziehe ihn auf das Arbeitsblatt.
-
Weise das Makro zu: Wähle das gerade erstellte Makro "Drucken" aus.
-
Teste das Makro, indem Du auf den Button klickst.
Häufige Fehler und Lösungen
-
Fehler beim Kompilieren - Syntaxfehler: Überprüfe, ob Du alle Zeilenumbrüche korrekt gesetzt hast. Achte darauf, dass der Code in einem Block steht und keine unerwünschten Zeichen enthält.
-
Nichts wird gedruckt oder gespeichert: Stelle sicher, dass der Zellinhalt in B60 tatsächlich einen gültigen Dateinamen enthält und dass der Pfad C:\Tabellenauswertung\ existiert.
-
PDF wird geöffnet: Um das Öffnen der PDF-Datei nach der Erstellung zu verhindern, setze OpenAfterPublish:=False im Code.
Alternative Methoden
Falls Du kein VBA verwenden möchtest, kannst Du auch die Excel-Funktion „Speichern unter“ verwenden und den Dateinamen manuell eingeben. Eine weitere Möglichkeit ist die Verwendung von Add-Ins, die das Exportieren von Excel-Daten als PDF erleichtern.
Praktische Beispiele
Hier sind einige Beispiele für die Nutzung des Codes:
-
Gesamte Excel-Datei als PDF speichern: Ersetze ThisWorkbook.Sheets("Tabelle2") durch ThisWorkbook im Code, um die gesamte Datei zu exportieren.
-
Bestimmten Bereich als PDF speichern: Du kannst den Export-Bereich mit Range("A1:D20") definieren:
ThisWorkbook.Sheets("Tabelle2").Range("A1:D20").ExportAsFixedFormat Type:=xlTypePDF, Filename:="C:\Tabellenauswertung\" & strFilename, ...
Tipps für Profis
-
Verwende die Fehlerbehandlung in Deinem VBA-Code, um sicherzustellen, dass das Makro auch bei unerwarteten Eingaben oder Problemen stabil bleibt. Zum Beispiel:
On Error GoTo Fehlerbehandlung
...
Exit Sub
Fehlerbehandlung:
MsgBox "Fehler: " & Err.Description
-
Automatisiere den Pfad: Wenn Du häufig unterschiedliche Pfade verwenden musst, überlege, den Pfad in einer Zelle zu speichern und im Makro darauf zuzugreifen.
FAQ: Häufige Fragen
1. Wie kann ich den Dateinamen ändern, wenn ich das PDF speichere?
Du kannst den Zellinhalt in B60 ändern, um einen neuen Dateinamen zu verwenden, oder den Code anpassen, um einen festen Namen zu verwenden.
2. Kann ich das PDF in einem anderen Format speichern?
Mit dem Export-Befehl kannst Du nur als PDF speichern, aber Du kannst die Datei später in ein anderes Format konvertieren, wenn nötig.
3. Was ist, wenn mein Excel-Dokument viele Blätter hat?
Du kannst das Makro so anpassen, dass es durch alle Blätter iteriert und jeweils ein PDF erstellt, indem Du eine Schleife verwendest.