Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
курсовая / Источники / excel_2010_professionalnoe_programmirovanie_na_vba_RuLit_Me_412629.pdf
Скачиваний:
4
Добавлен:
27.09.2025
Размер:
22.97 Mб
Скачать

Глава 8. Основы программирования на VBA

229

Массивы

Массив — это группа элементов одного типа, которые имеют общее имя; на конкрет­ ный элемент массива ссылаются, используя имя массива и индекс. Например, можно оп­ ределить массив из 12 строк так, чтобы каждая переменная соответствовала названию месяца. Если вы назовете массив MonthNames, то можете обратиться к первому эле­ менту массива как M onthNam es ( 0 ) , ко второму— как M onthNam es (1) и так до

MonthNames (1 1 ).

Объявление массивов

Массив, как и обычные переменные, объявляется с помощью операторов Dim и P ub ­ lic . Кроме того, можно определить количество элементов в массиве: введите нижний индекс, ключевое слово То и верхний индекс— и вся конструкция будет заключена в скобки. Например, объявить массив, содержащий ровно 100 целых чисел, можно сле­ дующим образом:

Dim M y A rra y (l То 100) As In te g e r

Совет

©При объявлении массива в обязательном порядке указывается только верх­ ний индекс; тогда VBA установит нижний индекс равным 0. Следовательно, два следующих оператора приведут к одинаковым результатам.

Dim

M yA rray(0 to

100) As In te g e r

Dim

M yArray(lO O )

As In te g e r

В обоих случаях массив состоит из 101 элемента.

По умолчанию в массивах VBA в качестве первого элемента используется нуль. Если вы хотите, чтобы в качестве первого индекса всех массивов использовалась единица, то перед первой процедурой модуля нужно сделать следующее объявление:

Option Base 1

Объявление многомерных массивов

В примерах массивов в предыдущем разделе использовались одномерные массивы. Массивы VBA могут иметь до 60 измерений, хотя на самом деле используется не более трех (трехмерные массивы). Показанный ниже оператор объявляет двухмерный 100-элементный массив целых чисел.

Dim M y A rra y (l То 10, 1 То 10) As In te g e r

Этот массив можно рассматривать как матрицу значений размером 10x10. Чтобы об­ ратиться к конкретному элементу двухмерного массива, используйте два индекса. На­ пример, таким образом присваивается значение элементу предыдущего массива.

МуАггау (3 , 4) = 125

Трехмерный массив, содержащий 1000 элементов, можно представлять в виде куба.

Dim М уАггау(1 То 10, 1 То 10, 1 То 10) As In te g e r

Чтобы обратиться к элементу внутри массива, используйте три индекса.

МуАггау (4, 8, 2) = 0