Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лекции по VBA.docx
Скачиваний:
3
Добавлен:
01.07.2025
Размер:
1 Мб
Скачать
☆

Использование массивов

Для доступа к элементу массива необходимо указывать имя массива, за которым следует значение индекса, заключенное в круглые скобки.

Нижеприведенный листинг показывает элементарное объявление и использование массива (в качестве элементов массива используется факториал номера элемента массива):

При помощи вложенных циклов довольно легко можно организовать инициализацию двумерного массива:

Изменение размерности динамического массива

Могут сложиться обстоятельства, при которых точно неизвестно, сколько элементов потребуется в массиве. В VBA имеется возможность при помощи оператора ReDim переопределять размерность массива, а во время объявления не указывать его размерность.

Синтаксис ReDim:

ReDim [Preserve] varname(subscripts) [As Type] [, varname(subscripts) [As Type]]

varname - имя существующего массива;

subscripts - размерность существующего массива;

Type - любой тип VBA. Необходимо использовать отдельный оператор As Type для каждого массива, который определяется;

Preserve - необязательный аргумент. Его использование приводит к тому, что данные уже имеющиеся в массиве, сохраняются после изменения его размерности.

Примеры правильного использования оператора ReDim:

Dim Array_Month() As String - одномерный строковый динамический массив

ReDim Array_Month(29) - устанавливает размерность динамического массива равную 29 элементам

ReDim Array_Month(1 To 30) - изменяет размер массива до 30 элемента

ReDim Preserve Array_Month(1 To 31) - изменяет размер массива до 31 элемента, сохраняя содержимое

Dim Array_DBL() As Single - объявляет динамический массив

ReDim Array_DBL(2, 9) - делает массив двумерным

ReDim Array_DBL(3, 7) - изменяет размер двумерного массива

ReDim Preserve Array_DBL(1 To 3, 1 To 5) - изменяет последний размер массива, сохраняя содержимое

Обратите внимание! Можно изменять только последнее измерение многомерного массива, когда используется ключевое слово Preserve.