Одна из первых ловушек — базовая индексация массива: по умолчанию она начинается с нуля, если явно не указать Option Base 1, из-за чего новички регулярно промахиваются на единицу.

Изменение размера массива через ReDim без Preserve полностью обнуляет все ранее записанные значения — если нужно добавить элемент, сохранив старые, обязательно использовать ReDim Preserve.

Обращение к индексу за пределами объявленного размера массива даёт ошибку выполнения «Subscript out of range» — её стоит ловить через On Error, если данные приходят из внешнего источника.

Dim arr(1 To 10) As Integer
ReDim Preserve arr(1 To 15)

Вам может быть интересно