VBA Problem.
21.01.2004 13:24:27
Thorsten
Dank Euch bin ich schon recht weit gekommen. Vielen Dank dafür...
Ich habe folgendes Problem. Ich möchte mehrere Daten aud Textdateien einlesen und diese in eine Tabelle schreiben lassen. Das Problem: Es werden nur die Daten der letzten eingelesenen Datei in die Tabelle geschrieben. Ich fürchte, die anderen werden überschrieben. Kann mir jemand helfen? Hier der Quellcode:
Sub TextImport()
Application.DisplayAlerts = False
Dim iRow As Integer, iCol As Integer
Dim sFile As String, sTxt As String
Dim datei As String
iRow = 1
iCol = 1
datei = Dir("C:\Test\*.ans")
Do While datei <> ""
sFile = "C:\Test\" + datei
On Error Resume Next
Close
Open sFile For Input As #1
Do Until EOF(1)
Line Input #1, sTxt
Do While InStr(sTxt, "|")
Cells(iRow, iCol).Value = Left(sTxt, InStr(sTxt, "|") - 1)
sTxt = Right(sTxt, Len(sTxt) - InStr(sTxt, "|"))
iCol = iCol + 1
Loop
Cells(iRow, iCol).Value = sTxt
iRow = iRow + 1
iCol = 1
Loop
Close
Application.ScreenUpdating = False
With Range("A1")
.AutoFilter Field:=4, Criteria1:="trans*"
.CurrentRegion.SpecialCells(xlCellTypeVisible).Copy _
Worksheets("Ergebnis").Range("A1")
End With
Worksheets("Ergebnis").Activate
Sheets("Ergebnis").Range("A:C,E:J").ClearContents
Range("D1:D1000").Select
Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
Semicolon:=False, Comma:=True, Space:=False, Other:=False, FieldInfo _
:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1))
datei = Dir
Loop
End Sub
Vielleicht weiß jemand Rat. Wenn das noch klappt, wäre ich sogut wie fertig :)
Gruß Thorsten