Этот сайт использует cookies. Продолжение работы с сайтом означает, что Вы согласны!
Массивы
Массив — это нумерованный набор переменных одного типа. Переменная в массиве называется элементом, а ее позиция в массиве задается индексом. Все элементы массива располагаются в смежных ячейках памяти. Нумерация элементов массива по умолчанию начинается с нуля. С помощью инструкции
Option Base 1
можно указать, что нумерация должна начинаться с единицы, но лучше этого не делать, а привыкнуть к тому, что нумерация начинается с нуля, так как практически во всех языках программирования принято именно так. Если все-таки решили изменить порядок нумерации, то инструкция должна быть расположена в самом начале модуля.
Объявление и инициализация массива
Объявление одномерного массива выглядит следующим образом:
Dim <Имя массива1>([<Начальный индекс> To]<Максимальный индекс>)
[As <Тип>]
[, ...,
<Имя массиваN>([<Начальный индекс> To]<Максимальный индекс>)
[As <Тип>]]
Если параметр <Начальный индекс>
не задан, то используется значение из инструкции Option Base
. Если инструкция отсутствует, то начальный индекс будет равен нулю. Пример объявления массива из трех элементов, имеющих тип Integer
:
Dim Массив(2) As Integer
Обращение к элементам массива осуществляется с помощью круглых скобок, в которых указывается индекс элемента. Обратите внимание на то, что по умолчанию нумерация элементов массива начинается с 0
, а не с 1
, поэтому первый элемент имеет индекс 0
. С помощью индексов можно присвоить начальные значения элементам массива уже после объявления массива:
Dim Массив(2) As Integer
Массив(0) = 10 ' Первый элемент имеет индекс 0!!!
Массив(1) = 12 ' Второй элемент
Массив(2) = 14 ' Третий элемент
Если в программе производится попытка присвоить значение несущестующему элементу массива, то компилятор выведет сообщение о фатальной ошибке и программа будет остановлена.
После объявления массива с его отдельными элементами можно работать как с обычными переменными. Пример:
Dim Массив(2) As Integer, x As Integer
Массив(0) = 10 ' Присваиваем значение по индексу
Массив(1) = 12
Массив(2) = 14
x = Массив(2) + 15 ' Используем внутри выражений
Debug.Print Массив(2) ' Получаем значение
В качестве типа данных можно указывать не только стандартные типы, но и пользовательские типы данных. Создадим пользовательский тип Книга
и объявим массив из двух элементов этого типа:
Type Книга
Название As String
Автор As String
End Type
Sub Тест()
Dim Массив(1) As Книга
Массив(0).Название = "Python. Самое необходимое"
Массив(0).Автор = "Прохоренок Н.А."
Массив(1).Название = "Python 3 и PyQt. Разработка приложений"
Массив(1).Автор = "Прохоренок Н.А."
Debug.Print Массив(1).Название ' Получаем значение
End Sub
Как видно из примера, вначале производится доступ к элементу внутри массива по индексу, а затем доступ к отдельным полям пользовательского типа, используя точечную нотацию.
Помощь сайту
Yandex-деньги: 410011140483022
ПАО Сбербанк:
Счет: 40817810855006152256
Реквизиты банка:
Наименование: СЕВЕРО-ЗАПАДНЫЙ БАНК ПАО СБЕРБАНК
Корреспондентский счет: 30101810500000000653
БИК: 044030653
КПП: 784243001
ОКПО: 09171401
ОКОНХ: 96130
Скриншот реквизитов