habe das Problem schonmal reingenommen, aber leider keine gute Lösung gefunden, Suchergebnis brachte auch nichts. Bei mir wäre folgendes:
- Habe in einem Ordner mehrere CSV-Files (81 Stück, wenn ich mich nicht verzählt habe), diese
- möchte ich in eine Arbeitsmappe.
- Jeder CSV-Datei dieses eine Tabellenblatt importieren, wobei
- diese spider20050103.csv heißen.
- Die Endung steht für ein Datum und ist fortlaufend,
- somit kommt jeden Tag eine CSV-Datei hinzu.
- Diese CSV Dateien sind im Textformat mit Semicolons getrennt.
- Sodass die Datei die im eine neue Endung hat, (neuer Tag)
--> durch aufrufen des Makros soll es unten drangehängt werden.
Bitte euch alle wirklich um Hilfe, weil hab schon vieles probiert, auch mit "GetOpenFilename" jedoch muss man ja bei dem alle immer manuell auswählen?!
Dankeschön schonmal wenn jemand sich dem hier annimmt.
https://www.herber.de/bbs/user/19632.xls
(die Datei heißt wie gesagt bei mir spider20040224.csv!)
Grüße Pierre
Einen Quellcode habe ich schonmal von "_u" bekommen, jedoch macht dieser garnichts, außer zählen vermute ich: (er schreib 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