Ich fand folgenden Lösungsvorschlag von Thorsten in der Recherche:
Sub TXTtoXL()
Dim lstrTXTzeile As String, liZeichen As Integer, lstrZellwert As String
Dim liZeile As Integer
liZeile = 1
Open "c:\test.txt" For Input As #1
Do While Not EOF(1)
Line Input #1, lstrTXTzeile
For liZeichen = 1 To Len(lstrTXTzeile)
If Mid(lstrTXTzeile, liZeichen, 1) = vbTab Then
Range("A" & liZeile).Value = lstrZellwert
Range("B" & liZeile).Value = Right(lstrTXTzeile, Len(lstrTXTzeile) - liZeichen)
Exit For
End If
If Mid(lstrTXTzeile, liZeichen, 1) = vbLf Then
lstrZellwert = lstrZellwert & " "
Else
lstrZellwert = lstrZellwert & Mid(lstrTXTzeile, liZeichen, 1)
End If
Next
lstrZellwert = ""
liZeile = liZeile + 1
Loop
Close
End Sub
Voraussetzung:
In der txt-Datei gibt es, wie in Deinem Bsp nur 2 Spalten, durch Tabulator getrennt.
Mein Problem wäre das es in der txt Datei keine zwei Spalten gibt welche durch einen Tabulator getrennt sind.
Meine Textdatei schaut so aus:
14014251004AA________AA__EPAK=20926EBES=02167
0
3457249700090423000000001181004Wildmann______________________Berthold 10012011007910000000000000
345724970009042300001014440000110Abramo______________________Hugo 5794220154101000000050804000000 000000020
345724970009042300002023747160399Abramo_____________________Alex
Der Unterstrich bedeutet normalerweise Leerzeichen.
In der Textdatei habe ich bei 021670 zwischen der 7 und Null eion Fremdzeichen.
Diese Fremdzeichen schneidet mir beim Import in Excel die 0 ab und legt sie in die nächste Zeile.
Wenn ich diesen Text in der Textdatei kopiere und in eine Zelle einfüge, so erhalte ich einen Zeilenumbruch innerhalb einer Zelle.
Beim Import wird kein Zeilenumbruch durchgeführt sondern einfach die 0 in die nächste Zeile importiert.
Könnte man das Makro von Thorsten so modifizieren, dass die Textdatei richtig eingelesen wird?
Danke
Josef