Вы можете использовать динамический массив , когда вы не знаете, сколько значений он будет содержать до времени выполнения:
Dim Zombies() As Integer
ReDim Zombies(NumberOfZombies)
Или вы можете делать все с одним операторомесли вы создаете массив, локальный для процедуры:
ReDim Zombies(NumberOfZombies) As Integer
Массивы фиксированного размера требуют, чтобы количество содержащихся элементов было известно во время компиляции.Вот почему вы не можете использовать переменную для установки размера массива - по определению, значения переменной являются переменными и известны только во время выполнения.
Вы можете использовать константу, если знаетезначение переменной не должно было изменяться:
Const NumberOfZombies = 2000
, но нет никакого способа преобразования между константами и переменными.Они имеют совершенно разные значения.