Supportnet / Forum / Tabellenkalkulation
Datei einlesen in best. Reihenfolge (geändert am)
Frage
Hallo zusammen,
ich lese derzeit mit einem Makro eine Anzahl i xls.-Dateien aus einem Ordner ein, die automtisch generiert wurden. Das Einlesen soll nun jedoch genau in der Reihenfolge geschehen, in der die Dateien generiert wurden.
Bisher sortiere ich die Dateien einfach im Explorer und benenne sie dann um, das Makro liest (scheinbar standardmäßig) dann in alphabetischer Reihenfolge ein und es passt.
Nicht, dass es wichtig wäre, sexy wär´s schon.
Meine Gedanken gehen in Richtung einlesen des Verzeichnisses samt Attributen (wie?), sortieren nach Attribut "geändert am" ,Übergabe der Reihenfolge an das Makro.
Für (bessere und einfachere) Ideen und Anregungen wäre ich Euch dankbar,
viele Grüße
guethi
Antwort 1 von nostalgiker6
Ich hätte eine etwas abseitige Idee, will aber erst abwarten, ob jemand eine gute hat.
(Diese Antwort nur, damit ich via Benachrichtigung auf dem Laufenden bleibe.)
(Diese Antwort nur, damit ich via Benachrichtigung auf dem Laufenden bleibe.)
Antwort 2 von nostalgiker6
Aber zusätzlich gefragt: Lässt sich nicht die Namensvergabe im generierenden Programm manipulieren?
Antwort 3 von JoeKe
Hallo guethi ,
sieh mal in der VBA-Hilfe unter Execute-Methode(Office) nach.
msoSortby und msoSortOrder
gruß
sieh mal in der VBA-Hilfe unter Execute-Methode(Office) nach.
msoSortby und msoSortOrder
gruß
Antwort 4 von nighty
hi all :)
ein beispiel :)
gruss nighty
Option Explicit
Sub NachDatum()
Dim Dateien As Integer
With Application.FileSearch
.NewSearch
.LookIn = "C:\temp\"
.SearchSubFolders = True
.Filename = "*.xls"
If .Execute(SortBy:=msoSortByFileName, SortOrder:=msoSortOrderAscending) > 0 Then
For Dateien = 1 To .FoundFiles.Count
Cells(Dateien, 1) = .FoundFiles(Dateien)
Next Dateien
End If
End With
End Sub
ein beispiel :)
gruss nighty
Option Explicit
Sub NachDatum()
Dim Dateien As Integer
With Application.FileSearch
.NewSearch
.LookIn = "C:\temp\"
.SearchSubFolders = True
.Filename = "*.xls"
If .Execute(SortBy:=msoSortByFileName, SortOrder:=msoSortOrderAscending) > 0 Then
For Dateien = 1 To .FoundFiles.Count
Cells(Dateien, 1) = .FoundFiles(Dateien)
Next Dateien
End If
End With
End Sub
Antwort 5 von JoeKe
Hallo nighty,
sollte es bei "NachDatum" nicht
heißen?
Gruß
JöKe
sollte es bei "NachDatum" nicht
msoSortByLastModified heißen?
Gruß
JöKe
Antwort 6 von nighty
hi jöke :)
stimmt mal wieder ,irritiert nur, vergessen umzuschreiben :)))
gruss nighty
stimmt mal wieder ,irritiert nur, vergessen umzuschreiben :)))
gruss nighty
Antwort 7 von guethi
Hallo Jungs,
hatte noch gar keine Gelegenheit die guten Tipps auszuprobieren (leider wird man manchmal gerade wenn es spannend wird zu anderen Dingen beordert).
Bis hierher vielen Dank!Ich werde Euch ein Feedback geben, sobald ich wieder dran bin.:-)
Beste Grüße
guethi
hatte noch gar keine Gelegenheit die guten Tipps auszuprobieren (leider wird man manchmal gerade wenn es spannend wird zu anderen Dingen beordert).
Bis hierher vielen Dank!Ich werde Euch ein Feedback geben, sobald ich wieder dran bin.:-)
Beste Grüße
guethi
Antwort 8 von guethi
Jungs! Herrlich! Wunderbar!
Habe jetzt über ein Userform einen Schalter gebaut, über den man ganz nach Belieben hin- und herswitchen kann um entweder nach Datum oder Filename zu importieren.
Besten Dank vom glücklichen
guethi
PS:jemand sollte meinem Chef erzählen, dass ich gerade arbeite :-)
Habe jetzt über ein Userform einen Schalter gebaut, über den man ganz nach Belieben hin- und herswitchen kann um entweder nach Datum oder Filename zu importieren.
Besten Dank vom glücklichen
guethi
PS:jemand sollte meinem Chef erzählen, dass ich gerade arbeite :-)

