Den nachfolgenden VBA Programmcode können Sie für Ihre Auswertung nutzen. Bitte beachten Sie, dass dieser Code ggf. für ihre Auswertung angepasst werden muss. D.h. Dateinamen, die Bezeichnung der Tabellenblätter etc. müssen ggf. auf Ihre Umgebung angepasst werden.
Eine Beispieldatei zum Download finden Sie hier.
Sub Import()
'
' Import Makro
Dim Pfad As String
Dim Pfad1 As String
Dim Datei As String
Dim Dateipfad As String
Dim i As Integer
Dim s As Integer
Dim z As Integer
Dim Anzahl As Integer
Dim letztezeile As Integer
' Bisherige importierte Daten werden elöscht
ThisWorkbook.Sheets("Tabelle2").Cells.Clear
ThisWorkbook.Sheets("Tabelle3").Cells.Clear
' Tabelle1 wird gewählt
ThisWorkbook.Sheets("Tabelle1").Activate
' Variablen werden mit den Eingaben aus Tabelle1 belegt
Pfad1 = Cells(1, 2).Value
Anzahl = Cells(4, 2).Value
s = Cells(6, 2).Value
z = Cells(7, 2).Value
' Schleife zum mehrmaligem Durchlaufen
For i = 1 To Anzahl
' Dateibezeichnung übernehmen
Datei = ThisWorkbook.Sheets("Tabelle1").Cells(2, 2).Value & i
' Dateipfad bestimmen
Pfad = Pfad1
Dateipfad = Pfad & Datei & ".csv"
' Ziel Tabellenblatt wählen
ThisWorkbook.Sheets("Tabelle3").Activate
Columns("A:XY").Select
Selection.Delete Shift:=xlToLeft
' Rohdatendatei öffnen
' Pfad definieren
Pfad = "TEXT;" & Dateipfad
MsgBox Pfad
' Konvertierungsassistent mit Rekorder aufgezeichnet:
' Werte kopieren und in bestehender Arbeitsmappe einfügen
With ActiveSheet.QueryTables.Add(Connection:=Pfad, Destination:=Range("$A$1"))
.Name = Datei
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 850
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = False
.TextFileSemicolonDelimiter = True
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(4, 1, 1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=True
End With
' Daten als Werte einfügen
Columns("A:XY").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
' entsprechenden Bereich auswählen und kopieren
ThisWorkbook.Sheets("Tabelle3").Activate
Range(Cells(1, 1), Cells(z, s)).Select
Selection.Copy
' Auswertungsdatei wählen
ThisWorkbook.Sheets("Tabelle2").Activate
' letzte Zeile bestimmen und Daten unten anfügen
letztezeile = ActiveSheet.Cells(1048576, 1).End(xlUp).Row
Sheets("Tabelle2").Cells(letztezeile + 1, 1).Select
ActiveSheet.Paste
Next i
End Sub