Ich lese per VBA eine Textdatei mit mehr als 65000 Zeilen ein. Allerdings habe ich als Texttrennung ein Semikolon. Wie kann ich das gegen ein TAB austauschen bzw. Wie lautet der richtige Syntax? Vielen Dank im voraus!
Gruss
Oliver
Hier der Code
Sub Text_lesen()
Dim Fso As Object, Dat As Object, i As Long, Blatt As Byte
Dim txt As String, x As Integer, y As Byte, alt As Integer
' Bildschirmaktualisierung ausschalten
Application.ScreenUpdating = False
Set Fso = CreateObject("Scripting.FileSystemObject")
' Datei öffnen
Set Dat = Fso.OpenTextFile("c:\Temp\testfile.txt", 1, False)
i = 0
Do While Dat.AtEndOfStream True
' Tabellenblatt ermitteln
Blatt = (i \ 65536) + 1 ' Ganzzahl nach Teilung
' Textzeile auslesen
txt = Dat.ReadLine
alt = 0
y = 0
' Schleife über die einzelnen Zeichen des Textes
For x = 1 To Len(txt)
' Nach Semikolon abfragen Abfrage nach TAB
If Mid(txt, x, 1) = ";" Then
' Mod liefert den Rest der Teilung
Worksheets(Blatt).Cells((i Mod 65536) + 1, y + 1) = Mid(txt, alt + 1, x - alt - 1)
' zwischenspeichern der Stelle
alt = x
y = y + 1
End If
Next x
' die letzte Zelle der Zeile beschreiben
Worksheets(Blatt).Cells((i Mod 65536) + 1, y + 1) = Mid(txt, alt + 1, x - alt - 1)
i = i + 1
Loop
' Datei schließen
Dat.Close
Application.ScreenUpdating = True
MsgBox "Fertig"
End Sub