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

Forumthread: Modul: Dateiname automatisch generieren

Modul: Dateiname automatisch generieren
18.07.2008 16:24:00
Bernd
Hallo,
nun suche ich eine Modul, was mir automatisch den Dateinamen erstellt.
Das Modul soll mit einer Schaltfläche gestartet werden, den "Speichern unter"-Dialog öffnen und den Dateinamen bereits eintragen.
Der Dateiname soll wie folgt aussehen:
- Nummer aus Zelle A1
- Leerzeichen
- Ort (ohne PLZ) aus Zelle A2
- Komma
- Leerzeichen
- Name des Kunden aus Zelle A3
Beispiel:
A1: 807-20100
A2: 12345 Musterhausen
A3: Mustermann & Söhne OHG
Der Dateiname wäre dann "807-20100 Musterhausen, Mustermann & Söhne OHG.xls".
Weiterhin wäre es dann auch noch schön, wenn ich per Button eine PDF-Datei erstellen könnte und im "Save PDF File As"-Dialog dann auch schon der Dateiname "807-20100 Musterhausen, Mustermann & Söhne OHG.pdf" eingetragen wäre.
Das müßte dann im Code irgendwo vor
Application.ActivePrinter = "Acrobat PDFWriter auf LPT1:"
objWks.PrintOut

stehen, oder?
Schöne Grüße
Junker

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Modul: Dateiname automatisch generieren
18.07.2008 17:24:00
Bernd
EDIT:
Habe nun in einer separaten Zelle den Dateinamen "berechnen" lassen und die Formel sofort nach meiner Tabelle angepaßt.
=B73 & " " & TEIL(A11;7;C11-6) & ", " & A7 & ".xls"
B73: Nummer des Angebotes, Auftrages oder der Rechnung
TEIL(A11;7;C11-6): der Ort
A7: der Name des Kunden
Das Ergebnis steht bei mir dann in der Zelle B77.

Anzeige
AW: Modul: Dateiname automatisch generieren
18.07.2008 20:31:38
Jens
Hallo Bernd
Zum ersten Teil vielleicht so:
https://www.herber.de/bbs/user/53956.xls
Zum pdf-Teil kann ich im Moment nichts sagen, da mir die Zeit fehlt.
Ich lasse den Beitrag deshalb nochmal offen.
Gruß aus dem Sauerland
Jens

Anzeige
AW: Modul: Dateiname automatisch generieren
21.07.2008 09:46:57
Bernd
Besten Dank ... funktioniert.
Direkt einen Namen zum Speichern der PDF-Datei vergeben zu lassen, scheint komplizierter zu sein, da der "Save PDF File As"-Dialog offensichtlich von Adobe kommt und nicht von Excel.
Aber: Bevor ich eine PDF-Datei erstelle, speichere ich ja auch meine XLS-Datei.
Entsprechend wurde die Datei dann ja auch schon mit dem passenden generierten Namen gespeichert.
(aus EINGABEMASKE.XLT wurde nach dem speichern 807-20100 Musterhausen, Mustermann & Söhne OHG.xls"). Und wenn ich dann die PDF-Datei erstelle, wird dieser Name ja auch übernommen :-)))
Besten Dank nochmal
Junker
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Dateinamen in Excel automatisch generieren


Schritt-für-Schritt-Anleitung

Um den Dateinamen in Excel automatisch zu generieren, kannst du ein einfaches VBA-Modul verwenden. Hier sind die Schritte:

  1. Öffne Excel und erstelle ein neues Arbeitsblatt.

  2. Drücke ALT + F11, um den VBA-Editor zu öffnen.

  3. Füge ein neues Modul hinzu:

    • Rechtsklick auf "VBAProject (DeinWorkbookName)" > Einfügen > Modul.
  4. Kopiere den folgenden Code in das Modul:

    Sub DateinameGenerieren()
       Dim dateiname As String
       dateiname = Range("A1").Value & " " & Range("A2").Value & ", " & Range("A3").Value & ".xls"
    
       ' Dialog zum Speichern unter
       Application.Dialogs(xlDialogSaveAs).Show Filename:=dateiname
    End Sub
  5. Schließe den VBA-Editor und gehe zurück zu Excel.

  6. Füge einen Button hinzu:

    • Gehe zu "Entwicklertools" > "Einfügen" > "Button".
    • Ziehe den Button auf das Arbeitsblatt und wähle die DateinameGenerieren-Subroutine aus.
  7. Klicke auf den Button, um den "Speichern unter"-Dialog mit dem automatisch generierten Dateinamen zu öffnen.


Häufige Fehler und Lösungen

  • Fehler: Der Button funktioniert nicht.

    • Lösung: Stelle sicher, dass das Makro aktiviert ist. Gehe zu "Datei" > "Optionen" > "Trust Center" > "Einstellungen für das Trust Center" > "Makroeinstellungen" und aktiviere die Makros.
  • Fehler: Der Dateiname enthält ungültige Zeichen.

    • Lösung: Stelle sicher, dass die Zellen A1, A2 und A3 keine ungültigen Zeichen wie /, \, *, ?, :, <, > oder | enthalten.

Alternative Methoden

Wenn du keinen VBA-Code nutzen möchtest, kannst du auch eine Excel-Formel verwenden, um den Dateinamen in einer Zelle zu generieren:

=A1 & " " & A2 & ", " & A3 & ".xls"

Du kannst diese Formel in eine Zelle eingeben, und sie zeigt dir den gewünschten Dateinamen an. Dieser muss dann manuell im "Speichern unter"-Dialog eingegeben werden.


Praktische Beispiele

Hier ist ein Beispiel, wie du den Dateinamen aus Zellen generieren kannst:

  • Zelle A1: 807-20100
  • Zelle A2: Musterhausen
  • Zelle A3: Mustermann & Söhne OHG

Das Ergebnis in der Zelle, wo du die Formel eingegeben hast, lautet dann:

807-20100 Musterhausen, Mustermann & Söhne OHG.xls

Wenn du den VBA-Code ausführst, wird der Dateiname automatisch im "Speichern unter"-Dialog angezeigt.


Tipps für Profis

  • Verwende die Funktion Format in VBA, um das Datum oder andere Variablen im Dateinamen hinzuzufügen.
  • Du kannst den Code erweitern, um auch PDF-Dateinamen automatisch zu vergeben. Füge dazu vor dem Drucken der PDF-Datei eine Zeile hinzu, die den Dateinamen in der Form "Dateiname.pdf" erstellt.
Dim pdfDateiname As String
pdfDateiname = Range("A1").Value & " " & Range("A2").Value & ", " & Range("A3").Value & ".pdf"

FAQ: Häufige Fragen

1. Wie kann ich den Dateinamen automatisch als PDF speichern?
Du kannst den gleichen Ansatz wie für die Excel-Datei verwenden, jedoch musst du den VBA-Code anpassen, um den PrintOut-Befehl für die PDF-Erstellung zu integrieren.

2. Muss ich Excel auf Englisch verwenden, um die Funktionen zu nutzen?
Nein, die VBA-Funktionen sind sprachunabhängig. Achte jedoch darauf, dass die Zellreferenzen und die Struktur gleich bleiben.

3. Kann ich den Code auch in Excel Online verwenden?
VBA funktioniert nicht in Excel Online. Du musst die Desktop-Version von Excel verwenden, um den Code auszuführen.

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