Что-то неожиданное происходит, когда я пытаюсь загрузить большой массив из файла CSV. Файл имеет 100000 строк и 100 столбцов (80 МБ). Я попробовал множество способов быстро загрузить CSV (потому что скорость имеет смысл). Приведенный ниже код отлично работает в первый раз, но когда я запускаю его во второй раз, заголовок переменной (String) или redim arrRaw (Variant) дает ошибку «из памяти». После перезагрузки Excel он отлично работает один раз. Они являются локально объявленными переменными. Я пытался использовать публичное объявление, а затем стирал массив, но это работало. Моя система не обнаруживает проблем с оперативной памятью. Есть ли проблема (или решение) этой проблемы?Недостаточный объем памяти
Open filepath For Binary Access Read As #i
Get #i, , res
Close i
title = Split(Right(Left(res, Len(res) - 1), Len(Left(res, Len(res) - 1)) - 1), vbLf)
columnsArr = UBound(Split(title(1), ";"))
rowsArr = UBound(title)
ReDim arrRaw(1 To rowsArr, 1 To columnsArr)
Call timerClock(True)
For i = 0 To rowsArr
TmpAr = Split(title(i), ";")
For j = 0 To UBound(TmpAr) - 1
If IsNumeric(TmpAr(j)) Then
arrRaw(i + 1, j + 1) = TmpAr(j)
Else
arrRaw(i + 1, j + 1) = 0
End If
Next j
Next i
См. [Следует использовать теги в заголовках?] (Http://meta.stackexchange.com/help/tagging). – pnuts