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

Forumthread: Zellinhalt als Dateiname und als PDF speichern

Zellinhalt als Dateiname und als PDF speichern
16.11.2017 17:19:23
Hans
Hallo Forum,
ich habe schon so viele VBA Makros gelesen, dass mir mein Kopf schon schmerzt. Leider ohne Erfolg. Auch zusammenschustern hat nicht geklappt.....
Mein Problem:
In Tabelle1 wird in der Zelle -B60- über eine Verketten Formel ein Dateiname erstellt. Im Tabelle2 sind meine Daten so aufgearbeitet, dass diese dort ausgedruckt werden können...
Also, ich möchte ein Makro erstellen, dass mir über einen Schaltbutton ermöglicht die Datei zu speichern... Allerdings nicht als .xls sondern nur die Tabelle2 (mit dem aus der Zelle -B60- erstellten Namen) Tabelle2 müsste 2x ausgedruckt und anschließend in C:\Tabellenauswertung\Dateiname.pdf gespeichert werden.
Ich hab schon viel versucht, aber leider bekomme ich das einfach nicht hin. Ein paar Einzelschritte funktionierten, jedoch konnte ich das nicht wie gewünscht kombinieren!
Vielen Dank für eure Hilfe
Hans
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellinhalt als Dateiname und als PDF speichern
16.11.2017 19:01:38
Hans
Hallo Chris,
ich hab das Makro in meine Datenbank eingefügt, jedoch wird nichts gedruckt oder gespeichert.....
Ich bin VBA Neuling, muss ich der Datei noch irgendwelche Module hinzufügen? oder geht das auch so?
Bitte keine so komplizierte Lösung.... um so simpler desto besser, dann kann ich das auch nachvollziehen.
Hans
Anzeige
@ ChrisL Hilfe zum Makro
16.11.2017 19:31:38
Hans
Moin moin,
hab gerade mal ein anderes Makro ausgegraben..... Da kommt dann "Fehler beim Kompilieren - Syntaxfehler"
Hier mal das Makro... soweit angepasst wie ich konnte:
Alles ab "ThisWorkbook.Sheets" bis OpenAfterPublish:= _True" ist rot gekennzeichnet
Was mach ich falsch ?
Hans
Sub Drucken()
' PDF_Drucken Makro
' Tastenkombination: Strg+p
Dim strFilename As String
ChDir _
"C:\Datenbank\Berechnungen\"
ThisWorkbook.Sheets("Rechnung").ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\Datenbank\Berechnungen\" & Sheets("Eingabe").Range(" _
B60").Text & ".pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
True
End Sub

Anzeige
AW: @ ChrisL Hilfe zum Makro
16.11.2017 19:32:18
Hans
Haken vergessen
AW: @ ChrisL Hilfe zum Makro
16.11.2017 20:47:50
Werner
Hallo Hans,
liegt an den falschen Zeilenumbrüchen. Hab die mal geändert.
Sub Drucken()
' PDF_Drucken Makro
' Tastenkombination: Strg+p
Dim strFilename As String
ChDir "C:\Datenbank\Berechnungen\"
ThisWorkbook.Sheets("Rechnung").ExportAsFixedFormat Type:=xlTypePDF _
, Filename:="C:\Datenbank\Berechnungen\" & Sheets("Eingabe").Range("B60").Text _
& ".pdf", Quality:=xlQualityStandard, IncludeDocProperties:=True _
, IgnorePrintAreas:=False, OpenAfterPublish:=True
End Sub
Gedruckt wird da aber nix.
Gruß Werner
Anzeige
AW: @ ChrisL Hilfe zum Makro
17.11.2017 10:06:01
Hans
Hallo Werner...
Vielen Dank, klappt prima und das Drucken hab ich auch hinbekommen... Geht gut!
Wie kann ich aber verhindern, dass die PDF geöffnet wird ?
Im Makro steht doch nichts von "Show PDF" oder so....
Hans
AW: @ Werner
17.11.2017 10:22:20
Hans
Hallo Werner....
Ich glaub ich hab es selbst gefunden.....
IncludeDocProperties:=True (hab ich auf False gesetzt.... scheint zu klappen...)
VBA = viel Arbeit aber macht Spaß....
Danke....
Hans
Anzeige
Gerne u. Danke für die Rückmeldung. o.w.T.
17.11.2017 12:55:08
Werner

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

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:

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

  2. Füge ein neues Modul hinzu: Rechtsklick auf "VBAProject (dein Dokument)" > Einfügen > Modul.

  3. 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
  4. Schließe den VBA-Editor und gehe zurück zu Excel.

  5. Füge einen Button hinzu: Gehe zu "Entwicklertools" > "Einfügen" > wähle einen Button aus und ziehe ihn auf das Arbeitsblatt.

  6. Weise das Makro zu: Wähle das gerade erstellte Makro "Drucken" aus.

  7. 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.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige