Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Создание пользовательских п ÒÉÌÏÖÅÎÉÊ ÓÒÅÄÓÔÁÍ...doc
Скачиваний:
6
Добавлен:
18.11.2019
Размер:
2.02 Mб
Скачать

Объектные переменные

Синтаксис объявления объектной переменной Dim varname As type

  • type – тип объекта. Возможен тип любого объекта VBA или ключевое слово Object. Например, Dim p As Object, Dim r as Range, Dim w As Workbook.

Объектная переменная занимает четыре байта и хранит адрес, указывающий на объект. Обычно в программах используют объектную переменную при создании собственного объекта. Подробно см. раздел Использование объектных переменных.

Массивы

Переменные можно объединять в массивы. Массив – это совокупность переменных одного типа.

Преимущества

  • Вместо нескольких однотипных переменных используется одна переменная.

  • Можно применять групповую обработку элементов массива.

Каждый массив имеет имя – идентификатор. Переменные, входящие в массив, называются элементами массива. Любой элемент массива обозначается переменной с индексом, например, A(5). Другими словами отдельный элемент массива определяется своей позицией (индексом) в массиве. Можно сказать, что массив это именованная совокупность переменных одного типа, которые различаются значениями своих индексов.

С понятием массива связано понятие размерности. Чаще всего используются одномерные массивы (векторы или строки) и двумерные массива (матрицы). Максимальное количество измерений массива – 60.

Примеры массивов

Ежедневная утренняя и вечерняя температура воздуха в течение месяца представляется двумерным массивом из 31 строки и 2 столбцов, а эта же температура в течение года является уже трехмерным массивом 12x31x2.

Перечень десяти дисциплин по каждой из пяти специализаций представляется двумерным массивом из 5 строк и 10 столбцов.

Важно

  • Элементы массива имеют одинаковые характеристики (тип, размер и т.д.).

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

  • Индекс элемента массива – это число (положительное, отрицательное или 0).

  • Количество индексов элемента массива должно соответствовать количеству измерений массива: первый индекс соответствует первому измерению, второй индекс – второму и т.д.

  • Для указания индекса можно использовать переменные или выражения. При этом значение выражения округляется до ближайшего целого числа.

  • Значение каждого индекса имеет нижнюю и верхнюю границу. Если специально не указано другое, нижней границей индекса массива является 0.

  • Инструкция Option Base 1, размещенная в области Declarations, устанавливает нижний индекс всех массивов в единицу.

Массив должен быть обязательно объявлен. Синтаксис объявления массива

Dim varname(subscripts) As type

  • varname – имя массива;

  • subscripts – индексы измерений массива;

  • type – тип элемента массива.

Для каждого индекса измерения (subscripts) можно указать нижнюю и верхнюю границы (граничная пара) в виде lower to upper, где обе границы суть целые числа или выражения, результат вычисления которых есть число. Нижняя граница может быть опущена, тогда она предполагается нулевой, если инструкция Option Base не указывает на другое. Индексы каждого измерения отделяются друг от друга запятой. Например, объявление Dim A (1 To 5, 2 To 17) определяет двумерный массив A из пяти строк с индексами от 1 до 5 и 16 столбцов с индексами от 2 до 17, всего 80 элементов. Запись A(3,10) указывает на девятый элемент третьей строки.

Рекомендуется

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

Пример

Создать массив, значение каждого элемента которого равно индексу элемента.

Sub arr()

Dim A(7) As Integer, I As Integer

For i = 0 To 7

A(i) = i: Debug.Print A(i)

Next i

End Sub

Одномерный массив A имеет восемь элементов с индексами от 0 до 7.

Оператор присваивания значения и оператор распечатки значения записаны на одной строке через двоеточие.