Выбрать главу
Переменные

Переменная – это имя, которое разработчик программы дает области компьютерной памяти, используемой для хранения данных какого-либо типа. Переменная представляет числа, текстовые данные или другую информацию, которая точно не известна во время написания оператора, но будет в наличии и доступна при выполнении этого оператора.

Идентификатор – это имя переменной. При выборе имени переменной необходимо соблюдать следующие правила:

имя переменной должно начинаться с буквы алфавита;

после первой буквы имя переменной может состоять из любой комбинации цифр, букв или символов подчеркивания;

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

имя переменной не должно превышать 255 символов;

имя переменной не должно дублировать определенные ключевые слова vba.

Самым простым способом создания переменной является использование ее в операторе VBA. VBA создает переменную и тут же резервирует ячейку памяти для данной переменной.

Сохранение значения данных в переменной называется присваиванием переменной. Присваивание выполняется с помощью оператора присваивания, представляемого знаком (=). Например, А = 145.

Создание переменной путем ее использования в операторе называется неявным объявлением переменной. Все переменные, которые VBA создает неявным объявлением переменной, имеют тип данных Variant.

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

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

Для объявления переменных используются операторы Dim, Public, Private и Static. Первый можно использовать на обоих уровнях, Public, Private – на уровне модуля, Static – только на уровне процедуры.

Объявление простых переменных имеет следующий синтаксис:

Dim <имя переменной1, имя переменной2,…> As <имя типа>

или

Dim <имя переменной1> As <имя типа1>, <имя переменной2> As <имя типа2>,<имя переменной3> As <имя типа3>, …

Примечание. Все переменные, которые создаются просто ключевым словом Dim, являются переменными типа Variant. Если используется ключевое слово As, то объявляемая переменная называется типизированной.

Примеры объявлений типизированных констант:

Dim ключ As single

Dim стоимость Аs currency

Dim дата_рождения AS Date

Dim письмо Аs string

Явное объявление переменных имеет следующие преимущества:

ускоряется выполнение кода, так как vba создает все объявленные явно переменные в модуле или процедуре перед выполнением кода процедуры;

скорость выполнения кода увеличивается на то количество времени, которое необходимо для анализа и создания неявно объявляемых переменных;

уменьшается количество ошибок в результате неправильного написания имени переменной;

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

Примечание. Имена переменных не «чувствительны» к состоянию регистра, т. е. переменные f и F в программе означают одно и то же.

Константы

Константа – это значение в программе VBA, которое не меняется. Существует несколько типов констант.

Именованные константы – константы, имеющие заданное имя; это имя имеет конкретное неизменяемое значение.

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

Следует помещать объявления констант на модульном уровне, чтобы у них была наибольшая область действия.

Литеральные константы – это константы, записываемые непосредственно в код.

Правила написания литеральных констант (String, Integer, Data, Boolean):

строковые константы должны быть заключены в двойные кавычки ("");

пустая строковая константа (нулевая строка) обозначается двумя двойными кавычками, между которыми ничего нет ("");

строковая константа должна вся находиться на одной и той же строке. Нельзя использовать символ продолжения строки для продолжения литеральной (строковой) константы на другой строке.

Численные константы могут содержать любой из численных типов VBA.

Правила написания численных констант:

численные константы должны состоять только из числовых символов от 0 до 9;

численная константа может начинаться со знака минус и содержать десятичную точку;

можно использовать экспоненциальное представление для численных констант;

никакие другие символы или знаки в численных константах не допускаются.

Примеры:

142

– 789.3

5.55Е4

Константы Date необходимо помещать между знаками фунта (#). Независимо от того, в каком из форматов записывается литеральная константа Date, VBA переформатирует эту константу для соответствия одному из двух следующих форматов – в зависимости от того, содержит ли константа Date информацию о времени:

#2/5/02 9:17:00 PM#

#2/5/02#

Константы Boolean – существуют только две правильные константы типа Boolean: True и False.

Типизированные константы используются при явном задании типа константы. Объявление конкретного типа данных для константы может повысить точность вычислений. Для констант можно использовать типы данных Byte, Boolean, Integer, Long, Single, Double, Currency, Date, String.

Синтаксис:

Const имя_константы As type = value, name As type = value,…

где type – имя любого из типов данных VBA;

value – значение, присваиваемое константе.

Пример:

Const Pi As Double = 3.14

Внутренние константы называются также предопределенными константами. Внутренняя константа – это именованная константа, которая была определена разработчиками VBA. Внутренние константы все начинаются с букв vb для указания того, что они определяются языком VBA (табл. 2).

Таблица 2

Математические функции