Очевидно, этот вопрос задавался много раз. Нормальная процедура:
Workbooks.Open(ActiveWorkbook.Path & "\Test.csv")
не будет правильно анализировать CSV (имея много строк в одной ячейке)
Благодаря Lernkurve, я могу использовать его функцию, чтобы сделать это правильно: Открытие файла CSV с разделителями точкой с запятой
Sub ImportCSVFile(filepath As String)
Dim line As String
Dim arrayOfElements
Dim linenumber As Integer
Dim elementnumber As Integer
Dim element As Variant
linenumber = 0
elementnumber = 0
Open filepath For Input As #1 ' Open file for input
Do While Not EOF(1) ' Loop until end of file
linenumber = linenumber + 1
Line Input #1, line
arrayOfElements = Split(line, ";")
elementnumber = 0
For Each element In arrayOfElements
elementnumber = elementnumber + 1
Cells(linenumber, elementnumber).Value = element
Next
Loop
Close #1 ' Close file.
End Sub
Это, однако, не быстро (у меня есть файлы с тысячами столбцов), и мой вопрос:
Есть ли какой-нибудь родной способ открыть файлы CSV в Excel с правильным разбором?