Ich habe ein Makro welches soweit funktioniert.
Ich möchte verschiedene gleichartige csv Dateien in Excel importieren.
Hierzu folgendes Makro:
Sub Rename_Files()
'(C) Ramses
'Liest alle txt-Dateien in einem Verzeichnis ein
Dim Datei As String, freeRow As Long
Dim Qe As Integer
Dim PFAD As String
PFAD = "C:\Test\" 'ACHTUNG: Bachslash am Schluss
Datei = Dir(PFAD & "*.txt")
Qe = MsgBox("Zum Import muss die aktuelle Tabelle leer sein," & vbCrLf & _
"bzw. alle Daten der aktuellen Tabelle: "" " & ActiveSheet.Name & " "" werden gelöscht", _
vbYesNo + vbCritical, "CSV-Import starten ?")
If Qe = vbNo Then
MsgBox "CSV-Import abgebrochen"
Exit Sub
Else
Cells.Clear
End If
Do While Datei ""
freeRow = Cells(Rows.Count, 1).End(xlUp).Row + 1
With ActiveSheet.QueryTables.Add(Connection:="TEXT;" & PFAD & Datei, Destination:=Range("A" _
& freeRow))
.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(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
Datei = Dir()
Loop
End Sub
Nun möchte ich das Makro erweitern, nur weiß ich nicht, wie ich dies machen kann.Der Gedanke ist, das die txt Dateien nicht einfach nur Zeile für Zeile importiert werden, sondern beim Import schon auf mehrere Zeilen aufgeteilt werden.
Nicht Spalten, wirklich Zeilen.
Für einen Zeilenumbruch kann die Zeichenkette UNH verwendet werden.
Ergebnis z.B.
Textdatei 1 Zeile 1 bis 5
Textdatei 2 Zeile 6 vis 8
...
Schön wäre, wenn die Trennung vor dem UNH erfolgt.
Wie geht soetwas, bzw. ist dann das obenstehende Makro verwendbar?
Vielen Dank,
Daniel.