AW: textdatei einlesen
02.09.2005 17:44:03
IngGi
Hallo Mehmet,
kopier dir folgendes Makro in ein benutzerdefiniertes Modul einer leeren Arbeitsmappe. Dazu mit Alt+F11 in den VBA-Editor gehen, über Einfügen-Modul ein neues Modul einfügen und das Makro dann in das große Fenster auf der rechten Seite hineinkopieren. Den Dateipfad hinter dem Open-Befehl musst du natürlich noch anpassen. Viel Spaß und Erfolg.
Option Base 1
Sub einlesen()
Dim DS() As String, AUSG() As String, tmp As String
Dim b As Byte, ff As Byte
Dim ze As Long, sp As Long
ReDim DS(3, 1)
ff = FreeFile
Open "C:\Test\26269.txt" For Input As #ff
Do
tmp = tmp & Input(1, #ff)
If Asc(Right(tmp, 1)) < 32 Then
tmp = Left(tmp, Len(tmp) - 1)
Else
If Right(tmp, 1) = ";" Then
b = b + 1
If b = 3 Then
b = 0
ReDim Preserve DS(3, UBound(DS, 2) + 1)
DS(1, UBound(DS, 2) - 1) = Left(tmp, InStr(1, tmp, ";", vbTextCompare) - 1)
tmp = Right(tmp, Len(tmp) - InStr(1, tmp, ";", vbTextCompare))
DS(2, UBound(DS, 2) - 1) = Left(tmp, InStr(1, tmp, ";", vbTextCompare) - 1)
tmp = Right(tmp, Len(tmp) - InStr(1, tmp, ";", vbTextCompare))
DS(3, UBound(DS, 2) - 1) = Left(tmp, InStr(1, tmp, ";", vbTextCompare) - 1)
tmp = ""
End If
End If
End If
Loop Until EOF(ff)
Close #ff
ReDim AUSG(UBound(DS, 2) - 1, UBound(DS, 1))
For ze = 1 To UBound(AUSG, 1)
For sp = 1 To UBound(AUSG, 2)
AUSG(ze, sp) = DS(sp, ze)
Next 'sp
Next 'ze
Range(Cells(1, 1), Cells(UBound(AUSG, 1), UBound(AUSG, 2))) = AUSG()
End Sub
Gruß Ingolf