Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Dateinamen aus Zellen generieren

Forumthread: Dateinamen aus Zellen generieren

Dateinamen aus Zellen generieren
06.10.2002 22:52:14
Armin Feiler
Hallo VBA-Welt & Excel-Freunde,

für folgende Probleme suche ich Lösungen:
1.
Dateinamen einer Excel-Arbeitsmappe (Mustervorlage *.xlt)aus zwei Zellwerten generieren und in einem bestimmten Ordner als "xx".xls speichern.
Wie geht das?
2.
Alle Dateinamen aus diesem Ordner auslesen und in einer Exceltabelle auflisten inkl. neben jeden Dateinamen ergänzend
bestimmte Zellwerte (Telefonnummern).

Danke für jeden Tipp!

Mit Güßen an alle

Armin

Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Dateinamen aus Zellen generieren
06.10.2002 23:31:39
Harry_W
Hallo Armin
Habe die Codes von der CD

zu 1)

Dim w, dName$, r
r = ThisWorkbook.Path
dName = r & "\" & Worksheets("Liste").Range("f4") & "-" & Worksheets("Liste").Range("b5")
dName = Format(dName, "mmddyy") & ".xls"
ActiveWorkbook.SaveAs dName
For Each w In Application.Workbooks
w.Save
Next w

zu2)

Sub OpenWkb()
On Error GoTo 1
Sheets("Tabelle1").Select
Cells.ClearContents
'Einfügen aller .xls Dateien in dem Verzeichnis
Dim strFile As String, strPath As String
Dim intCounter As Integer
Dim z
z = 1
Application.ScreenUpdating = True
strPath = ThisWorkbook.Path
strFile = Dir(strPath & "\") '& "*.xls")
Do While strFile <> ""
Cells(z, 1) = strFile
Cells(z, 2) = ("Liste")
Cells(z, 3) = ("a1")
strFile = Dir()
z = z + 1
Loop

End Sub

Leider funktioniert das zweite bei mir noch icht richtig, da ich die Verknüpfungszelle noch manuell eingeben muß. Habe die Frage der Verknüpfung diekt unter deiner Frage.


mfg

Harry_W

Anzeige
Re: Dateinamen aus Zellen generieren
07.10.2002 12:49:59
Armin
hallo Harry_W,

Merci für Deine Hilfe!

Zu 1.:
funktioniert soweit, nur das Format des Datums macht mir noch Probleme.
Wenn Format = Jahreszahl, dann Monat und schließlich Tag, dann sortiert der Explorer die Dateiordner hübsch automatisch nach Erstellungsdatum.
Habe an dem Code etwas herumgefummelt, aber so wie ich als VBA-Laie mir das überlegt habe funktioniert das noch nicht. (vgl. veränderten Code unten)
Desweiteren: wie baue ich einen bestimmten Pfad als Speicherort ein?

zu 2.:
Trage ich bei
Sub OpenWkb()
c:\ ein, kommt folgende Meldung
"Nach diesem Vorgand wird das projekt zurückgesetzt...."
Was muß ich hier wie angeben?


Danke im Voraus!

Grüße
Armin

Sub Makro1()
'
' Makro1 Makro
' Makro am 07.10.2002 von Armin Feiler aufgezeichnet
'
' Tastenkombination: Strg+s
'
Dim w, dName$, r
r = ThisWorkbook.Path
dName = r & "\" & Worksheets("Liste").Range("a1") & "-" & Worksheets("Liste").Range("a2")
dName = Format(dName, "yy mm dd") & ".xls"
ActiveWorkbook.SaveAs dName
For Each w In Application.Workbooks
w.Save
Next w

End Sub


Anzeige
Re: Dateinamen aus Zellen generieren
07.10.2002 19:36:08
Harry_W
Hallo Armin
Bin leider auch noch Laie.
Wenn das heutige benutzt werden muß kannst du es auch so eingeben - aber ohne Dateinamen.
Ansonsten könntest du ja auch das Datum in Zelle A2 schon so wie du es willst eintragen.

Makro 1

r = "c:\"
dName = Date ' heute
dName = Format(dName, "yy.mm.dd") & ".xls"
ActiveWorkbook.SaveAs dName

zu 2

strPath = "c:"


mfg

Harry

Anzeige
Re: Dateinamen aus Zellen generieren
07.10.2002 22:02:08
Armin Feiler
hallo Harry_W,

zu 2:
erhalte Felermeldung "Sprungmarke nicht definiert".
ich denke es ist die zeile "onErrorGoTo.." gemeint.
wie definiere ich sprungmarken?


1. klappt inzwischen ganz gut, leider akzetiert excel meine pfadangabe nicht, obwohl der Pfad definitiv korrekt angegeben ist.

Folgender Code ist inzwischen entstanden, so klappt es auch mit dem Datumsformat:


Private Sub CommandButton1_Click()
Dim w, dName$, r
r = "c:\Dokumente und Einstellungen\af\Lüttmann\Kunden\Anfragen\"
dName = Date ' heute
dName = Format(dName, "yy mmdd") & " " & Worksheets("Agenda").Range("b3") & ".xls"
ActiveWorkbook.SaveAs dName
For Each w In Application.Workbooks
w.Save
Next w
Range("e2") = dName
End Sub

Schöne grüße

armin

Anzeige
Re: Dateinamen aus Zellen generieren
07.10.2002 22:35:17
Harry_W
Hallo Armin

Dein Pfad steht in r
Du gibst unten aber kein " r " mehr an.

dName = r & Date &Format(dName, "yy mmdd") & " " & Worksheets("Agenda").Range("b3") & ".xls"

Was soll die Zeile
Range("e2") = dName
am Ende des Makros

zu 2
Die Zeile onErrorGoTo kannst du löschen

mfg

Harry


Anzeige
Re: Dateinamen aus Zellen generieren
07.10.2002 23:02:14
Armin Feiler
Hallo Harry,

Danke, jetzt ist alles O.K.

Range("e2") = dName ist nur ein Trick von mir gewesen, da ich auf dem Blatt selber den Dateinamen in eine zelle eingetragen haben wollte. Auf diesem Wege schreibt mir excel den Dateinamen in die zelle im gleichen format wie den dateinamen selbst.
Ansonsten wandelt mir excel bei einer textverkettung
A1=B2&" "&B3 das schöne datumsformat aus zelle B2 (Format: yy mmtt)in eine fortlaufende zahl um. Das sieht dann etwa so aus: "3576 Name"

Besten Dank, viele Grüße,
armin


Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Dateinamen aus Zellen generieren in Excel


Schritt-für-Schritt-Anleitung

Um einen Excel-Dateinamen aus Zellen zu generieren, kannst du folgende Schritte befolgen:

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

  2. Neues Modul erstellen: Klicke mit der rechten Maustaste auf "VBAProject (DeinWorkbookName)" und wähle "Einfügen" > "Modul".

  3. Code eingeben: Füge den folgenden Code in das Modul ein:

    Sub SpeichernUnterNameAusZelle()
       Dim w As Workbook
       Dim dName As String
       Dim r As String
    
       r = "C:\Dein\Pfad\" ' Ändere den Pfad nach Bedarf
       dName = r & Worksheets("Liste").Range("A1").Value & "-" & Worksheets("Liste").Range("A2").Value & ".xls"
    
       ActiveWorkbook.SaveAs dName
    
       For Each w In Application.Workbooks
           w.Save
       Next w
    End Sub
  4. Makro ausführen: Schließe den VBA-Editor und führe das Makro über ALT + F8 aus.

Mit diesem Makro kannst du den Excel-Dateinamen automatisch aus Zellen generieren und die Datei im gewünschten Ordner speichern.


Häufige Fehler und Lösungen

Fehler: "Nach diesem Vorgang wird das Projekt zurückgesetzt..."

  • Lösung: Stelle sicher, dass der Pfad korrekt angegeben ist. Verwende doppelte Backslashes (\\) oder einfache Forward Slashes (/).

Fehler: "Sprungmarke nicht definiert."

  • Lösung: Überprüfe die Zeile mit On Error GoTo. Entferne sie, wenn du keine Fehlerbehandlung benötigst.

Alternative Methoden

Wenn du keine VBA-Programmierung verwenden möchtest, kannst du folgende alternative Methoden ausprobieren:

  1. Formeln nutzen: Setze die Zellen für den Dateinamen zusammen. Zum Beispiel:

    =A1 & "-" & A2

    Diese Formel erstellt einen Dateinamen, den du manuell speichern kannst.

  2. Power Query: Verwende Power Query, um Daten zu importieren und zu transformieren. Damit kannst du auch Dateinamen generieren und in einer Tabelle verwalten.


Praktische Beispiele

  • Beispiel 1: Du möchtest einen Dateinamen basierend auf dem aktuellen Datum und einem Kundennamen generieren. Verwende folgenden VBA-Code:

    dName = Format(Date, "yy.mm.dd") & " " & Worksheets("Agenda").Range("B3").Value & ".xls"
  • Beispiel 2: Um alle Dateinamen in einer Liste anzuzeigen, kannst du den folgenden Code verwenden:

    Dim strFile As String
    strFile = Dir("C:\Dein\Pfad\*.xls")
    
    Do While strFile <> ""
       Cells(z, 1).Value = strFile
       z = z + 1
       strFile = Dir()
    Loop

Tipps für Profis

  • Automatisierung: Du kannst die Makros so anpassen, dass sie beim Öffnen oder Schließen der Arbeitsmappe automatisch ausgeführt werden.
  • Dynamische Pfade: Verwende ThisWorkbook.Path, um den aktuellen Speicherort der Arbeitsmappe dynamisch zu verwenden.
  • Dateiformate: Achte darauf, das richtige Dateiformat zu wählen, z. B. .xlsx oder .xls, je nach Bedarf.

FAQ: Häufige Fragen

1. Wie kann ich den Dateinamen aus mehreren Zellen zusammensetzen? Du kannst die Werte aus mehreren Zellen mit dem &-Operator in Excel kombinieren oder in einem VBA-Skript zusammenführen.

2. Kann ich den Dateinamen auch manuell anpassen? Ja, du kannst den generierten Namen in der Zelle anpassen, bevor du die Datei speicherst. Achte jedoch darauf, dass der Name keine ungültigen Zeichen enthält.

3. Wie speichere ich die Datei in einem bestimmten Ordner? Ändere die Variable r im VBA-Code, um den gewünschten Pfad anzugeben, z.B. r = "C:\MeinOrdner\".

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