- •Типы данных vba
- •Переменные vba
- •Имя переменной
- •Создание переменной
- •Типизированные переменные
- •Область действия переменных
- •Константы vba
- •Константы Boolean
- •Именованные константы
- •Задание типа константы
- •Внутренние константы
- •Совместимость типов данных vba
- •Преобразования численных типов
- •Преобразование строк и чисел
- •Преобразования Boolean
- •Преобразование Date
- •Арифметические операторы vba
- •Оператор вычитания (-)
- •Оператор умножения (*)
- •Оператор деления (/)
- •Деление по модулю (Mod)
- •Логические операторы vba
- •Логический оператор and
- •Логический оператор or
- •Логический оператор not
- •Логический оператор xor
- •Логический оператор eqv
- •Операторы сравнения
- •Приоритеты выполнения операций
- •Функции vba. Понятие функции.
- •Игнорирование результата функции
- •Именованные аргументы функции
- •Функция InputBox
- •Функции vba
- •Математические функции
- •Операторы ветвления vba
- •Циклы vba
- •Цикл For..Next
- •Цикл For Each..Next
- •Цикл Do .. While
- •Цикл Do .. Until
- •Цикл Do .. Loop While
- •Цикл Do .. Loop Until
- •Массивы vba
- •Объявление массивов
- •Использование массивов
- •Изменение размерности динамического массива
Константы vba
Константа это значение в программе VBA, которое не изменяется.
Константы можно использовать как аргументы для процедур, в математических операциях, операциях сравнения и пр.
Константы бывают литеральными и именованными.
Литеральная константа - это константа (число, строковое выражение, дата), расположенная непосредственно в коде.
НАПРИМЕР:
X = Y + 2
Здесь число 2 является литеральной константой.
Именованная константа, как правило, объявляется в начале модуля или процедуры (аналогично переменной) и предназначена для удобства чтения и понимания программного кода. Например, более целесообразно использовать в коде программы именованную константу Pi (которой присвоено значение 3,14), чем литеральную константу 3,14. Согласитесь, что выражение S = Pi * R* R Более "понятно", чем S = 3.14 * R * R.
Другим веским фактором в пользу именованных констант служит то обстоятельство, что изменив значение константы один раз, эти изменения мгновенно произойдут во всем программном коде. Литеральную константу надо искать и изменять в теле кода "вручную", на что может уйти довольно значительное время.
Однако не стоит использовать именованные константы сплошь и рядом, т.к. код может стать абсолютно нечитабельным, а вы сами запутаетесь, что и где находится.
ЛИТЕРАЛЬНЫЕ КОНСТАНТЫ
Существует несколько правил, которые необходимо соблюдать при написании литеральных констант.
Константы String
Строковые константы должны быть заключены в двойные кавычки (");
Пустая строковая константа (так называемая "нулевая строка") обозначается двумя двойными кавычками, между которыми ничего нет ("");
Строковая константа обязательно должна вся находиться на одной строке.
Численные константы
Численные константы могут содержать любой из численных типов VBA;
Численные константы должны состоять только из числовых символов от 0 до 9;
Численная константа может начинаться со знака (-) и может содержать десятичную точку;
Можно использовать экспоненциальное представление для численных констант;
Никакие другие символы или знаки не допускаются в численных константах.
Константы Date
Константы Date необходимо помещать между знаками фунта (#), при этом формат задания даты может быть различным:
#3-5-99#
#February 13, 2008 10:15am#
#Jun-20-2005#
# 9 April 1998#
VBA переформатирует дату к следующему виду: #4/9/1998#
Если пропустить знак фунта (#) при записи литеральной константы даты, VBA не сможет правильно интерпретировать константу даты как дату;
Нельзя заключать литеральные константы даты в двойные кавычки, т.к. в этом случае VBA распознает такую константу как строковую.
Константы Boolean
Существуют только два вида констант типа Boolean: True, False. При этом их нельзя брать в кавычки или сокращать.
Именованные константы
При создании и объявлении именованных констант надо придерживаться тех же принципов, что и при работе с переменными.
Для объявления именованной константы предназначено ключевое слово Const
СИНТАКСИС:
Const name_1 = value_1 [opetator name_2..] [, name_3 =..]
Name_N - любой допустимый идентификатор имени константы;
Value_N - любое значение данных;
Opetator - арифметическая или операция сравнения между двумя именами ранее описанных констант.
Область действия именных констант аналогична переменным, т.е. константы бывают процедурного и модульного уровня.
Поскольку одной из главных целей использования именованной константы является предотвращение повторения или дублирования литеральных констант, как правило, бывает необходимо, чтобы именованные константы были доступны всем процедурам в модуле. Поэтому целесообразно помещать объявления констант на модульном уровне, чтобы у них была наибольшая область действия.
