CSV-Import von 81 Dateien

Bild

Betrifft: CSV-Import von 81 Dateien von: Pierre
Geschrieben am: 14.03.2005 12:51:21

Hallo Community,

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

Bild


Betrifft: AW: CSV-Import von 81 Dateien von: Uduuh
Geschrieben am: 14.03.2005 13:06:35

Hallo,
dieser Code macht folgendes:
es werden im Ordner c:\test alle CSVs gesucht, die 'spider' im Namen haben. Zusätzlich wird geprüft, ob hinter 'spider' 8 Ziffern sind. Hier ist ein Fehler. Ändere
If IsNumeric(Mid(.FoundFiles(i), InStr(.FoundFiles(i), "spider") + 5, 8)) Then
in
If IsNumeric(Mid(.FoundFiles(i), InStr(.FoundFiles(i), "spider") + 6, 8)) Then
Ist das der Fall, wird die Datei geöffnet und der Inhalt in Tabelle1 kopiert. Danach wird die Datei geschlossen, die nächste geöffnet und deren Inhalt in Tabelle1 unten angefügt etc.
Dass sich nichts tut, liegt an o.a. Fehler und evtl. am nicht angepassten Ordner.

Gruß aus'm Pott
Udo



Bild


Betrifft: AW: CSV-Import von 81 Dateien von: Pierre
Geschrieben am: 14.03.2005 13:47:18

Also DANKE - das war alles. Ist ja der Wahnsinn! :o)

Grüße ind'n Pott
Pierre


 Bild

Beiträge aus den Excel-Beispielen zum Thema "CSV-Import von 81 Dateien"