Gruppe
Extern
Problem
Eine Textdatei mit einer unbekannten, über 256 hinausgehenden Zahl von Spalten soll so eingelesen werden, dass die über 256 Spalten hinausgehenden Felder jeweils 600 Zeilen tiefer angeordnet werden.
StandardModule: Modul1
Sub TextImport()
Dim arr As Variant
Dim iRow As Integer, iCol As Integer, iColT As Integer, iPlus As Integer
Dim sFile As String, sTxt As String
sFile = ThisWorkbook.Path & "\test_import.txt"
Close
Open sFile For Input As #1
Do Until EOF(1)
Line Input #1, sTxt
arr = fncSplit(sTxt, ",")
For iCol = 0 To UBound(arr)
iRow = Fix(iCol / 256) * 600 + 1 + iPlus
iColT = iCol Mod 256 + 1
Cells(iRow, iColT).Value = arr(iCol)
Next iCol
iPlus = iPlus + 1
Loop
Close
MsgBox "Job erledigt!"
End Sub
Function fncSplit( _
SplitText As String, _
Delimiter As Variant _
) As Variant
Dim iFile As Integer, iCounter As Integer
Dim arr() As String
Dim sTxt As String
Do While SplitText <> ""
ReDim Preserve arr(iCounter)
If InStr(SplitText, Delimiter) Then
sTxt = Left(SplitText, _
InStr(SplitText, Delimiter) - 1)
arr(iCounter) = sTxt
SplitText = Right(SplitText, Len(SplitText) - _
InStr(SplitText, Delimiter))
Else
arr(iCounter) = SplitText
SplitText = ""
End If
iCounter = iCounter + 1
Loop
fncSplit = arr
End Function