Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: CSV-Dateien einlesen

CSV-Dateien einlesen
KLE
Hallo,
...ich habe ca. 200 csv-Dateien erhalten mit Daten, welche in 3-5 Spalten aufgebaut sind, welche nur mit einem KOMMA getrennt sind. Sie liegen alle in einem Verzeichnis.
Ich versuche nun schon seit gestern diese per Marko alle einzulesen, aber irgendwie klappt es nicht. Kann mir jemand helfen ?! Gibt es vielleicht schon ein Script dafür ? Habe im Forum nichts passendes gefunden.
Ziel sollte sein, EINE Datei zu erstellen aus allen. D.h. das Makro sollte so ablaufen:
Verzeichnis öffnen, erste Datei nehmen und öffnen, die Daten in eine Excel-Datei importieren. Die Datei wieder schließen und die nächste im Verzeichnis öffnen und deren Daten unter die der ersten in die Excel-Datei schreiben...usw.
Aber das klappt nicht... ;o(
Gruß und Vielen Dank für Eure Tipps
KLE
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
Download Grundgerüst von www.excelei.de
27.09.2010 12:02:20
www.excelei.de
Hallo KLE,
auf meiner Webseite ( http://www.excelei.de ) findest Du unter "Downloads - Dateien inkl. VBA" ein Grundgerüst zum Öffnen aller (ausgewählten) CSV-Dateien eines Ordners.
Dieses kannst Du entsprechend erweitern.
Gruß, NoNet
AW: Download Grundgerüst von www.excelei.de
27.09.2010 12:42:05
www.excelei.de
Viele dank !
Werde ich heut und morgen probieren... ;o)
Gruß
KLE
Anzeige
AW: CSV-Dateien einlesen
27.09.2010 16:44:22
Rudi
Hallo,
teste mal:
Sub tttt()
Dim sFile As String, sDaten, arrDaten, arrTmp
Dim i As Integer, j As Integer
Const sFolder As String = "c:\Test\" 'anpassen
Const sDelim As String = ";"          'anpassen
sFile = Dir(sFolder & "*.csv")
Do While sFile  ""
Open sFolder & sFile For Input As #1
sDaten = Split(Input(LOF(1), 1), vbCrLf)
Close #1
arrTmp = Split(sDaten(0), sDelim)
ReDim arrDaten(1 To UBound(sDaten) + 1, 1 To UBound(arrTmp) + 1)
For i = 0 To UBound(sDaten)
arrTmp = Split(sDaten(i), sDelim)
For j = 0 To UBound(arrTmp)
arrDaten(i + 1, j + 1) = arrTmp(j)
Next
Next
Sheets(1).Cells(Rows.Count, 1).End(xlUp).Offset(1).Resize(UBound(arrDaten), UBound(arrDaten, _
2)) = arrDaten
sFile = Dir
Loop
End Sub

Gruß
Rudi
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige