Excel. Трюки и эффекты. Алексей Гладкий
= aintValues
' Доступ к элементам массива
varArray(1) = 1
varArray(2) = 2
varArray(3) = 3
Возможность присвоения массива переменной типа Variant на самом деле широко используется в VBA при передаче массивов в функции и процедуры, а также при возврате функциями массивов.
Для определения того, содержит ли переменная типа Variant массив, можно использовать функцию IsArray, имеющую следующий формат:
IsArray(Переменная)
Данная функция возвращает значение типа Boolean: True – если в переменной с именем Переменная содержится массив, и False – в противном случае.
Использование функции Array для заполнения массива
В VBA имеется возможность быстрого заполнения массива значениями. Эта возможность реализована в функции Array. Ее формат такой:
Array(Список_элементов)
В качестве аргументов функция принимает список значений, разделенных запятой. Возвращает она заполненный заданными значениями массив, сохраненный в переменной типа Variant. Ниже приведен пример использования функции Array:
Dim varArray
' Заполнение массива значениями
varArray = Array(1, 2, 3, 4, 5)
Коллекции
Коллекции (они же семейства и множества) – это объекты, которые позволяют хранить произвольное количество элементов любого типа. Элементы в коллекции идентифицируются уникальным ключом, которым может быть не только номер элемента в коллекции, но и значение строкового или другого типа. При программировании на VBA различные коллекции используются очень часто. Например, к коллекции Workbooks нужно обращаться для получения ссылки на объект Workbook нужной рабочей книги, к коллекции Worksheets – для получения ссылки на объект Worksheet нужного рабочего листа и т. д.
В VBA коллекции реализованы во встроенном классе Collection. Создание объекта Collection ничем не отличается от создания объекта другого типа:
Dim col As New Collection
или
Dim col As Collection
Set col = New Collection
Добавление элементов
Для добавления элементов в коллекции реализован метод Add, имеющий следующий формат:
Ссылка. Add Элемент [, Ключ][, Добавить_перед][, Добавить_после]
Единственным обязательным параметром метода Add является значение добавляемого элемента. Элемент может быть константой или переменной любого типа, кроме типа, определенного пользователем. При добавлении элемента можно указать ключ, который будет однозначно идентифицировать элемент в коллекции. Ключ – это любое значение типа Variant.
По умолчанию новые элементы добавляются в конец коллекции. Для изменения порядка добавления элементов используются параметры Добавить_перед и Добавить_после, с помощью которых указывается номер или ключ того элемента, перед которым или после которого нужно вставить новый элемент. Нумерация элементов в коллекции начинается с единицы.
Ниже приведены примеры инструкций, добавляющих новые элементы в коллекцию:
col.Add «Value1», «Key1»
col.Add «Value2», «Key2»
col.Add «Value0»,"Key1"
Количество элементов в коллекции
Для определения количества элементов в коллекции используется свойство только для чтения