Я зацикливаю папку и динамически передаю различные элементы в массив. Когда массив пуст и я ReDim
, он увеличивается в размере, но когда массив имеет значения, и я пытаюсь ReDim Preserve
, я получил ошибку:
Индекс вне диапазона
Код:
Dim arrNames As Variant
Do While Len(StrFile) > 0
'If array is empty
If Counterarr = 0 Then
'Add a line to the array
ReDim arrNames(Counterarr, 1 To 3)
Else
'Keep the values and add new
ReDim Preserve arrNames(Counterarr)
End If
'Import document name
arrNames(Counterarr, 1) = Trim(Replace(Trim(StrFile), ".xlsx", ""))
'Import Year
arrNames(Counterarr, 2) = Trim(Left(Trim(Split(Trim(Replace(Trim(StrFile), ".xlsx", "")), " ")(1)), 4))
'Import Month
arrNames(Counterarr, 3) = Right(Trim(Split(Trim(Replace(Trim(StrFile), ".xlsx", "")), " ")(1)), 2)
Counterarr = Counterarr + 1
StrFile = Dir
Loop
Изображение:
При инициализации массива:
Любой совет, как импортировать ArrNames(1)
et c?