es gibt ja schon zig Macros mit denen man aus einem Ordner viele txt Files einlesen kann. Hab mir hier den passenden für mich rausgesucht und an meine Bedürfnisse angepasst.
Kann mir jemand sagen, warum nicht alle Files aus dem Ordner eingelesen werden, sondern immer nur eines der txt-Files und diese zig mal ?
Sub txtImport()
Dim strPfad As String
Dim FSO As Object
Dim file
Dim lngLR As Long
'Anpassen
strPfad = "C:\TEST\"
Set FSO = CreateObject("scripting.filesystemobject")
For Each file In FSO.getfolder(strPfad).Files
strFileName = Dir(strPfad & "*.txt")
strDestination = "A" & Cells(Rows.Count, 1).End(xlUp).Row + 1
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;" & strPfad & strFileName, Destination:=Range( _
strDestination))
.Name = "TEXTFILES" 'Name des Tabellenblattes nach Import
.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 = True
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = False
.TextFileOtherDelimiter = "|"
.TextFileColumnDataTypes = Array(1, 1, 1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
Next
End Sub