ReDim t_direction(4)
фактически объявляет t_direction
как 0 To 4
Лучше быть точным:
ReDim t_direction(0 To 3)
При отсутствии указанной нижней границы (с использованием предложения To
) используется нижняя граница по умолчанию.
Это значение по умолчанию может быть установлено на 0
или 1
с помощью Option Base {0|1}
на уровне модуля.
При отсутствии Option Base
по умолчанию используется значение по умолчанию 0
Примечания:
В VBA вы не ограничены 0
или 1
в качестве нижней границы, вы можете использовать любое значение.
Для перебора массива используйте
For i = LBound(arr) To UBound(arr)
Для вычисления количества элементов в массиве используйте
numItems = UBound(arr) - LBound(arr) + 1
Таким образом, вы не делаете никаких предположений относительно нижней границы