Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Speichern unter als PDF mit Zähler gleichen Namen

Forumthread: Speichern unter als PDF mit Zähler gleichen Namen

Speichern unter als PDF mit Zähler gleichen Namen
08.05.2017 20:35:11
Johann
Hallo Libe Gemeinde
Ich komme leider mit meinem Code zum Speichern als PDF mit
Prüfung auf gleichen Dateinamen nicht weiter.
Folgender Problemcode:
Sub Speichern_unter_als_PDF()
Dim varFilename As Variant
Dim Dateiname As String
Dim Zähler As Long
Do
Zähler = Zähler +1
Dateiname =_
Range("E24").Value & Format(Date, "_ddmmyyyy_") & Range("I55").Value & Zähler
Loop Until Dir(Dateiname) = ""
varFilename = Aplication.GetSaveAsFilename(_
InitialFileName:=Dateiname, FileFilter:"PDF(*.pdf),*.pdf", _
Title:"als PDF speichern")
If varFilename  False Then 'hier ist mein Problem denke ich
ActiveWorkbook.Worksheets("Erfassung").ExportAsFixedFormat (xlTypePDF), _
Filename:=varFilename, IgnorePrintAreas:=False, OpenAfterPublish:=True
End If
End Sub

Speichern unter dialog öffnet sich
PDF ist eingestellt
Dateiname ist Richtig
nur der Zähler ist immer die 1
Bitte um Hilfe und Danke Herzlichst für eure mühe.
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Speichern unter als PDF mit Zähler gleichen Namen
08.05.2017 21:33:17
Sepp
Hallo Johann,
der Code ist so garantiert nie gelaufen.
Du hattest einige Fehler drin, warum es nicht lag aber daran, dass du die Dateiendung nicht mit angegeben hattest.
Sub Speichern_unter_als_PDF()
Dim varFilename As Variant
Dim Dateiname As String
Dim Zähler As Long

Do
  Zähler = Zähler + 1
  Dateiname = Range("E24").Value & Format(Date, "_ddmmyyyy_") & Range("I55").Value & Zähler & ".pdf"
Loop Until Dir(Dateiname, vbNormal) = ""

varFilename = Application.GetSaveAsFilename(InitialFileName:=Dateiname, _
  FileFilter:="PDF(*.pdf),*.pdf", Title:="als PDF speichern")
If varFilename <> False Then 'hier ist mein Problem denke ich
  ActiveWorkbook.Worksheets("Erfassung").ExportAsFixedFormat (xlTypePDF), _
    Filename:=varFilename, IgnorePrintAreas:=False, OpenAfterPublish:=True
End If
End Sub

Gruß Sepp

Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Speichern unter als PDF mit Zähler gleichen Namen


Schritt-für-Schritt-Anleitung

Um ein Excel-Dokument als PDF zu speichern und sicherzustellen, dass der Dateiname mit einem Zähler versehen wird, folge diesen Schritten:

  1. Öffne dein Excel-Dokument und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Füge das folgende VBA-Skript in ein neues Modul ein:
Sub Speichern_unter_als_PDF()
    Dim varFilename As Variant
    Dim Dateiname As String
    Dim Zähler As Long
    Do
        Zähler = Zähler + 1
        Dateiname = Range("E24").Value & Format(Date, "_ddmmyyyy_") & Range("I55").Value & Zähler & ".pdf"
    Loop Until Dir(Dateiname, vbNormal) = ""

    varFilename = Application.GetSaveAsFilename(InitialFileName:=Dateiname, FileFilter:="PDF(*.pdf),*.pdf", Title:="als PDF speichern")
    If varFilename <> False Then
        ActiveWorkbook.Worksheets("Erfassung").ExportAsFixedFormat xlTypePDF, Filename:=varFilename, IgnorePrintAreas:=False, OpenAfterPublish:=True
    End If
End Sub
  1. Passe die Zellreferenzen (E24 und I55) nach Bedarf an.
  2. Schließe den VBA-Editor und führe das Makro aus.

Jetzt wird beim Speichern als PDF jeder neue Dateiname inkrementell angepasst.


Häufige Fehler und Lösungen

  • Problem: PDF zeigt anderen Namen an.

    • Lösung: Stelle sicher, dass die Dateiendung .pdf korrekt im Code hinzugefügt ist, wie im obigen Skript zu sehen.
  • Problem: Der Zähler bleibt immer auf 1.

    • Lösung: Überprüfe, ob der Zähler korrekt initialisiert und innerhalb der Schleife hochgezählt wird.

Alternative Methoden

Wenn du eine einfachere Methode bevorzugst, um eine Excel-Datei als PDF zu speichern, kannst du auch die integrierte "Speichern unter" Funktion nutzen:

  1. Gehe zu Datei > Speichern unter.
  2. Wähle den Dateityp PDF aus.
  3. Vergib einen Namen und klicke auf Speichern.

Diese Methode hat jedoch den Nachteil, dass sie keinen Zähler automatisch hinzufügt.


Praktische Beispiele

Angenommen, du hast ein Excel-Dokument, das eine Liste von Verkäufen enthält. Du möchtest jeden Monat ein PDF erstellen, das den Verkaufsbericht enthält und sicherstellen, dass die PDFs korrekt benannt und nummeriert sind. Mit dem oben genannten VBA-Skript kannst du dies automatisieren, sodass die Dateinamen stets eindeutig sind, z.B.: Verkaufsbericht_01012023_1.pdf, Verkaufsbericht_01012023_2.pdf, usw.


Tipps für Profis

  • Variablen anpassen: Füge zusätzliche Variablen für die Benutzeranpassung hinzu, um das Skript flexibler zu gestalten.
  • Fehlerbehandlung einfügen: Implementiere Fehlerbehandlungsroutinen im VBA-Code, um unerwartete Fehler während des Speicherns abzufangen.
  • Automatisierung: Du kannst das Skript so anpassen, dass es automatisch beim Schließen der Datei oder beim Klicken auf einen Button ausgeführt wird.

FAQ: Häufige Fragen

1. Warum funktioniert mein Makro nicht? Prüfe, ob das Makro korrekt in ein Modul eingefügt wurde und ob die Zellreferenzen richtig sind.

2. Kann ich das PDF direkt in einen bestimmten Ordner speichern? Ja, du kannst den Pfad in der GetSaveAsFilename-Methode angeben, um das PDF an einem bestimmten Ort zu speichern.

3. Wie kann ich PDFs zusammenführen? Dafür benötigst du zusätzliche Software oder VBA, um mehrere PDFs zusammenzuführen, da Excel diese Funktion nicht standardmäßig bietet.

Mit diesen Anleitungen und Tipps solltest du in der Lage sein, dein Excel-Dokument erfolgreich als PDF zu speichern und dabei einen Zähler für den Dateinamen zu verwenden.

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