Короткий ответ: нижние границы массива - это то, что вы говорите им быть.
по умолчанию является базовым 0
(если не переопределено Option Base 1
), но вы можете объявить нижнюю границу для любого значения, которое вы хотите (Dim arr(-42 To 42)
является действительным как Dim(3)
).
Кроме того, если массив возвращается каким-либо объектом, его нижняя граница равна тому, что этот объект устанавливает для него. Например, ссылка Excel
Range.Value
вернет массив на основе 1
.