Функции, предназначенные для работы с массивами

Для работы с массивами предназначены следующие функции:

Dim Массив As Variant, x As Variant
Массив = Array(10, 20)
Debug.Print IsArray(Массив) ' True
Debug.Print IsArray(x)      ' False
Dim Массив(10) As Integer
Debug.Print LBound(Массив) ' 0 или 1 (зависит от Option Base)
Debug.Print UBound(Массив) ' 10

В параметре <Размерность> можно указать номер размерности для которой функции LBound() и UBound() будут возвращать значения:

Dim Массив(0 To 10, 2 To 5) As Integer
Debug.Print LBound(Массив, 1) ' 0
Debug.Print UBound(Массив, 1) ' 10
Debug.Print LBound(Массив, 2) ' 2
Debug.Print UBound(Массив, 2) ' 5

С помощью инструкции Erase <Массив> можно присвоить начальные значения всем элементам статического массива или полностью удалить динамический массив. Элементы числовых статических массивов и массивов строк фиксированной длины получат значение 0, элементам массивов строк переменной длины будет присвоена пустая строка, а элементы массива типа Variant будут иметь значение Empty. Чтобы использовать динамический массив после удаления, необходимо заново создать его с помощью оператора ReDim. Пример:

Dim СМассив(1) As Integer, ДМассив As Variant
СМассив(0) = 1        ' Статический массив
СМассив(1) = 2
Debug.Print СМассив(0) & " - " & СМассив(1) ' 1 - 2
Erase СМассив         ' Обнуляет массив
Debug.Print СМассив(0) & " - " & СМассив(1) ' 0 - 0
ДМассив = Array(1, 2) ' Динамический массив
Debug.Print ДМассив(0) & " - " & ДМассив(1) ' 1 - 2
Erase ДМассив         ' Удаляет массив
Предыдущая статья Все статьи Следующая статья