Hallo Karl-Heinz,
wenn nihct nur zeilenweise, sondrn auch spaltenweise, dann könnte es so gelöst werden:
Option Explicit
Sub main()
Dim v As Variant
Dim vRet As Variant
'*** Hole 1D Array (zweilenweise)
vRet = fSplitRowsInArray("c:\Test\test.csv")
'*** 1D zu 2D
v = Application.Transpose(vRet)
'***
With ThisWorkbook.Worksheets(1)
'*** 2D ins Worksheet (zeilenweise)
.Cells(.Rows.Count, 1).End(xlUp).Offset(1).Resize(UBound(v, 1), UBound(v, 2)).Value = v
'*** Text in Spalten (spaltenweise)
Application.Intersect(.Range("A:A"), .UsedRange).TextToColumns Destination:=.Range("A1"), Other:=True, OtherChar:="|"
End With
End Sub
Function fSplitRowsInArray(ByVal sLoadFromFile As String) As Variant
With CreateObject("ADODB.Stream")
.Charset = "UTF-8"
.Open
.LoadFromFile sLoadFromFile
'*** Splitte in 1D-Array
fSplitRowsInArray = Replace(.readtext, vbTab, "|")
fSplitRowsInArray = Split(fSplitRowsInArray, Chr(10))
.Close
End With
End Function
Wie immer auf grossartige Fehlerbehandlung oder neutralisierung verzichtet.
|