Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1148to1152
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

CSV-Dateien mit VBA einlesen

CSV-Dateien mit VBA einlesen
Stefan741
Hallo VBA-Freunde,
gestern habe ich fast den ganzen Tag gesucht und ausprobiert, aber keine Lösung für meine Problemstellung gefunden (bzw. war ich nicht in der Lage, eine vorhandene Lösung umzubauen, dass sie lief):
In einem Verzeichnis stehen viele CSV-Dateien. Die Daten sind mit Komma getrennt.
Diese möchte ich in eine Excel-Tabelle einlesen:
In die erste Spalte soll in jede Zeile der Dateiname geschrieben werden. In die weiteren Spalten und Zeilen dann die Daten. Eine Kommatrennung entspricht dann einer neuen Spalte.
Die Daten der nächsten Datei soll einfach unter die vorherige angefügt werden.
Habe schon versucht, das als Makro aufzuzeichnen und den Dateinamen variabel zu machen, bin aber gescheitert:
Dim Pfad As String
Dim Datei As String
Dim i As Integer
Dim alt As Variant, neu As Variant
With Application.FileSearch
.LookIn = "K:\Testverzeichnis\"
.Filename = "*.CSV"
If .Execute > 0 Then
For i = 1 To .FoundFiles.Count
alt = .FoundFiles(i)
neu = Mid(.FoundFiles(i), 66)
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;K:\Testverzeichnis\" _
& neu, Destination:=Selection)
' im aufgezeichneten Code steht hier der ganze Verzeichnis- und
' Dateiname. Ich habe versucht, dies variabel zu gestalten
.Name = neu
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 1252
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = False
.TextFileSemicolonDelimiter = True
.TextFileCommaDelimiter = True
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(2, 1, 1, 1)
.TextFileTrailingMinusNumbers = True
' .Refresh BackgroundQuery:=False
End With
Cells(64000, 1).End(xlUp).Select
Next i
End If
End With
End Sub
Hat von euch schon mal wer so eine Lösung erarbeitet? Könnte mir da jemand weiterhelfen?
Danke im Voraus,
Stefan

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Benutzer
Anzeige
Doppelt...owT
24.03.2010 08:00:54
Peter
.
Anzeige

324 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige