Anzeige
Archiv - Navigation
164to168
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
164to168
164to168
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

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

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

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


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

282 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige