Теоретические сведения. Массив – это упорядоченный набор данных одного типа, снабженный индексами
Массив – это упорядоченный набор данных одного типа, снабженный индексами. Индексы предназначены для нахождения определенного элемента массива, т.е. положение каждого элемента в массиве определяется его индексом. В этом и заключается упорядоченность. Тип компонент называется базовым типом массива. В VBA массив рассматривается как переменная структурированного типа. Массиву присваивается имя, посредством которого можно ссылаться на него, как на единое целое, так и на любую из его компонент. Переменная с индексом- идентификатор компоненты массива. Формат записи: < имя массива> (< индекс>), где индекс может быть выражением порядкового типа. Видим, что индексы принято указывать в круглых скобках после имени массива. По умолчанию нумерация элементов массива начинается с 0. Говорят, что 0 – базовый индекс. Например, если А – массив из пяти чисел: 2, 3, 7, 9, 6, то А (0) = 2 – первый элемент массива, А (4) = 6 – последний. Описание массива определяет имя, размер массива, базовый тип и производится в разделе переменных. В VBA имеются следующие способы описания массивов: 1. < имя массива> (< номер последнего элемента>) [As < тип> ] 2. < имя массива> (< начальный индекс> To < конечный индекс>) [As < тип> ] Отметим, что второй способ позволяет изменить базовый индекс. Другим способом изменения базового индекса является использование оператора Option Base, который имеет следующий синтаксис: Option Base < базовый индекс> < базовый индекс> – единица или ноль. Этот оператор применяется перед процедурой, аналогично оператору Option Explicit. Например, для изменения базового индекса с 0 на 1 используется оператор Option Base 1. Массив A, который был рассмотрен, требует одного индекса для указания любого элемента. Такой массив называется одномерным (или линейным) В одномерных массивах хранятся значения линейных таблиц. Примеры описания одномерных массивов: 1. Dim A (12) As Byte 2. Dim A (1 To 12) As Byte 3. Dim Bin (5) As Integer 4. Dim Str_mass (4) As String 5. Dim K (7) 6. Dim L (0 To 3) Заполнение массива в программе производится поэлементно. Чаще всего для этого используется цикл с параметром, где в качестве параметра применяется индексная переменная. Возможно заполнение массива путем простого присвоения значения элементам: Dim B (1 To 3) As Integer B (1) = 2 B (2) = 18 B (3) = 6 Удобным способом определения одномерных массивов является функция Array, преобразующая список элементов, разделенных запятыми, в вектор из этих значений, и присваивающая их переменной типа Variant. Dim A As Variant A = Array (10, 20, 35, 70) Иногда в процессе выполнения программы требуется изменять размер массива. В этом случае первоначально массив объявляют как динамический. Для этого при объявлении массива не указывают его размерность. Например, Dim R () As Single В программе следует вычислить необходимый размер массива и связать его с некоторой переменной, например, n; затем изменить размер динамического массива с помощью оператора ReDim: ReDim [Preserve] Имя (< номер последнего элемента>) [As < тип> ] ReDim [Preserve] Имя (< начальный индекс> To < конечный индекс>) [As < тип> ] Preserve – ключевое слово, используемое для сохранения данных в существующем массиве при изменении значения последней размерности. Двумерный массив — структура данных, хранящая прямоугольную матрицу. В матрице каждый элемент определяется номером строки и номером столбца, на пересечении которых он расположен. В VBA двумерный массив может быть описан следующим образом: 1. < имя массива> (< n1>, < n2>) [As < тип> ] < n1>, < n2> – номер последнего элемента строки И номер последнего элемента строки соответственно; 2. < имя массива> (< k1> To < k2>, < m1> To < m2>) [As < тип> ] < k1>, < k2> – начальный и конечный индексы элементов строки; < m1>, < m2> – начальный и конечный индексы элементов столбца. Например,
|