double arrow

Массивы. Константы очень похожи на переменные


Константы

Константы очень похожи на переменные. Они имеют имена, которые строятся по тем же правилам, в них могут храниться различные значения и т.д. Главное отличие константот переменных в том, что константы нельзя изменять в ходе выполнения программы. Это удобно в тех случаях, когда вы собираетесь много раз использовать в программе какое-то значение и хотите, чтобы оно гарантированно оставалось неизменным.

Для объявления констант используется ключевое слово Const. При объявлении константы нужно обязательно указать ее имя и присвоить ей нужное значение. При необходимости можно указать и тип константы. Вот как выглядит работа с константами в процедуре (листинг 5.24.):

Const str_Name As String = "Александр"

Const int_Size As Double = 18000

Dim num_NewSize As Double

MsgBox ("Здравствуйте, " + str_Name)

num_NewSize = int_Size * 2

Здесь мы объявили пару констант - одну строковую для хранения имени пользователя, вторую - типа Double. Строковую константу мы используем для построения строки вывода в операторе MsgBox, а числовую применяем для построения выражения, результат вычислении которого записывается в переменную num_NewSize.

В VBA имеется обширный набор встроенных констант. Они используются для работы с цветом (например, vbRed - красный и т.д.) для задания типов окон сообщений и во многих других случаях. Как правило, константы, допустимые в том или ином случае, можно найти в справочном материале, который появляется при наборе команд. Так же, подробные сведении о встроенных константах содержатся в справочной системе VBA.




Решим простую задачу: ввести в ответ на вопросы программы фамилии сотрудников. Если фамилий немного - 5 или 10 - использование переменных, с которыми вы уже знакомы, вполне оправдано. Программа будет состоять из нескольких строк такого вида:

a = InputBox("Введите фамилию сотрудника").

Как быть, если нужно работать со списком из 20 фамилий? А если их будет 50, 1000 или их количество должно быть определено в ходе выполнения программы?

Для обработки больших объемов информации использовать переменные неудобно. Что же делать? Ответ прост: использовать массивы.

Массив - это именованный набор индексированных ячеек. Ячейки так же называют элементами или индексированными переменными.

У каждого массива 5 основных характеристик: имя, размерность, число элементов, номер первого элемента и тип элементов.

  • Имя- правила именования массивов аналогичны правилам именования переменных.
  • Размерность- одномерные массивы напоминают одну строку таблицы, каждая ячейка которой содержит какие-то данные. Многомерные массивы имеют больше измерений. Их можно сравнивать с таблицами, имеющими множество строк и столбцов и с наборами таблиц.
  • Нумерация элементовподчиняется следующим правилам:
    • По умолчанию нумерация элементов массива начинается с 0. Первый по счету элемент получит индекс 0, второй - 1 и т.д.
    • В объявлении отдельного массива можно явно указать индекс его первого и последнего элемента, разделив их ключевым словом To.
    • Если вы хотите, чтобы индексы всех массивов начинались с 1, добавьте в раздел объявлений модуля (вне процедур, функций и обработчиков событий) командуOptionBase 1.
  • Тип- подчиняется тем же правилам, которые мы ранее рассмотрели для переменных. Если пользователь не указал его явно, массив получит тип по умолчанию - Variant. Это требует больше системных ресурсов, но позволяет обрабатывать значения различных типов.

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









Сейчас читают про: