Herbers Excel-Forum - das Archiv

CSV-Dateien nach Datumskriterium importieren

Bild

Betrifft: CSV-Dateien nach Datumskriterium importieren
von: Pierre

Geschrieben am: 10.03.2005 16:00:21
Also ich habe einen Ordner mit csv-Dateien. Das sind alles Log-Dateien von verschiedenen Programmen. Deswegen haben die auch alle verschiedene Namen.
Ich will nur die importieren, die folgendermaßen heißen: "Spider20050215.csv"
Das Datum da drin steht immer für JJJJMMTT. Die anderen Dateien in dem Ordner sind auch CSV-Dateien. Aber die spielen nichts zur Sache, also so "Spiderhelp.csv".
Dann soll er alle Spiderdateien die er findet in eine Tabelle importieren. So lange bis keine mehr da sind.
Am besten wärs sicher mit ner Schleife, die das Datum hochzählt. Oder?
Und hinterher soll nämlich (wenn das funktionier) noch ne Funktion rein, mit der man entweder alle Dateien aus nur einem Monat abrufen kann oder eben alle!
Bild

Betrifft: AW: CSV-Dateien nach Datumskriterium importieren
von: u_
Geschrieben am: 10.03.2005 16:19:18
Hallo,
schau dir mal das Filesearch-Objekt an. Mit .FileName="spider????????.csv"
Gruß
Bild

Betrifft: AW: CSV-Dateien nach Datumskriterium importieren
von: Pierre

Geschrieben am: 10.03.2005 16:33:43
Hallo,
also eine Auswahl - VBA im Lernstadium gab es nicht.
Deshalb kann ich mit den schnellen Begriffen nichts anfangen.
Kannst du da bitte genauere werden, so Quellcode vieleicht? Danke.
Ich hab's mit importieren schon so probiert, mittels einer einfachen Aufzeichnung, aber da wüsste ich nicht wie ich dieses FileName="spider????????.csv" einbinden soll, und vorallem wo dann genau?! Das VBA, bin ich mir wirklich erst am beibringen.
Grüße Pierre
Bild

Betrifft: AW: CSV-Dateien nach Datumskriterium importieren
von: u_

Geschrieben am: 10.03.2005 17:17:54
Hallo,
ungetestet.
Sub Import_csv()
Dim fs As FileSearch, wb As Workbook, i As Integer, wsh As Worksheet
Set fs = Application.FileSearch
Set wsh = ThisWorkbook.Sheets(1)
Const strOrdner As String = "c:\test"
Const strFName As String = "spider*.csv"
With fs
.Filename = strFName
.LookIn = strOrdner
.SearchSubFolders = False
If .Execute > 0 Then
For i = 1 To .FoundFiles.Count
'sind hinter 'spider' 8 Ziffern?
If IsNumeric(Mid(.FoundFiles(i), InStr(.FoundFiles(i), "spider") + 5, 8)) Then
Set wb = Workbooks.Open(.FoundFiles(i))
With wb.Sheets(1)
.Range(.Cells(2, 1), .Cells.SpecialCells(xlLastCell)).Copy _
Destination:=wsh.Cells(65536, 1).End(xlUp).Offset(1, 0)
End With
wb.Close False
Set wb = Nothing
End If
Next i
End If
End With
End Sub

Gruß
Bild

Betrifft: AW: CSV-Dateien nach Datumskriterium importieren
von: Pierre

Geschrieben am: 11.03.2005 10:23:29
Hallo nochmal,
es funktioniert, aber es geht nichts los - mit importieren meine ich. Ich habe mal ein Ausgabefenster reingetan, das sagte z.b. 5 Dateien gefunden, und wir ihre Namen gesagt. Aber importieren tut sie diese nicht, scheinbar so wie's mir scheint, nur suchen und dann ein unsichtbares "ok"?! Könntest nochmal kurz nachhelfen?
Zumal ja da ein "Workbooks.Open" drin ist, aber es öffnet diese ja nicht mal.
Also wäre nett wenn du es dir nochmal anschauen könntest dankeschön.
Grüße Pierre
 Bild
Excel-Beispiele zum Thema "CSV-Dateien nach Datumskriterium importieren"
Textdatei in Tabellenblatt importieren Textdatei nach Begriff durchsuchen und Fundzeile importieren
Diagramm exportieren und in Tabellenblatt importieren Suchbegriffe in UserForm eingeben, Fundstelle importieren
Benannte Bereich aus mehreren Arbeitsmappen importieren Textdatei mit 250.000 Zeilen anlegen und importieren
Name und Vorname suchen, Werte und Fundstellen importieren Grafik importieren und in Zelle zentrieren
Arbeitsblatt aus einer anderen Arbeitsmappe importieren Textdatei über QueryTables importieren