Конечно, в действительности массивы устроены сложнее хотя бы потому, что
они могут быть многомерными. Каждое измерение массива характеризуется
численным индексом. Одномерный массив − это просто пронумерованный список
значений. Он имеет начальную (первый элемент) и конечную точки (последний
элемент); между ними помещены остальные значения массива, которые не
перекрываются и однозначно определяются своими индексами.
Двухмерный массив более сложен − в него включены наборы списков одной
длины. Часто такие наборы называют таблицами или матрицами. Они состоят из
строк и столбцов, на пересечении которых находятся значения в таблице.
Трехмерный массив можно считать набором таблиц, в котором все таблицы
имеют одинаковые количества строк и столбцов. Трехмерные массивы напоминают
рабочую книгу Excel , содержащую несколько листов. Для доступа к элементу
трехмерного массива надо указывать три координаты − строку, столбец и таблицу,
на пересечении которых находятся значения в таблице. Массивы VBA могут иметь
до 60 измерений.
3.7.1. Объявление массива
Действия с массивами очень похожи на действия с переменными. Прежде чем
использовать массив, Вы должны его описать и указать, значения какого типа
будете в нем хранить. В массивах используются те же типы данных, что и в
одиночных переменных, причем массив может содержать только однотипные
значения. Обойти это ограничение легко − создайте массив типа Variant , в котором
можно хранить данные любого типа. Вот пример описания одномерного массива
для данных типа Integer .
Dim NA (10) As Integer
Оно ничем не отличается от описания переменной, которое обсуждалось ранее,
за единственным исключением − после имени переменной вводится число в
круглых скобках, указывающее VBA, что Вы объявляете не одиночную переменную,
а массив. Здесь мы задали только одно число, значит, будет создан одномерный
массив NA, предназначенный для хранения 10 целых чисел. В действительности
число 10 определяет верхнюю границу индексов массива. Если Вы указываете, что
массив должен содержать 10 элементов, VBA по умолчанию полагает, что номер
первого элемента 0, а самих элементов будет 11.
Объявление двухмерного массива выглядит так:
Dim TA (10, 20) As String
Таблица (массив) TA состоит из 10 строк и 20 столбцов и содержит до 200
строковых переменных. И еще один пример − описание трехмерного массива типа
Variant:
Dim BA (5, 50,100) As Variant
84