- •3. Основы программирования на vba
- •3.1. Переменные и типы данных
- •3.2. Операции vba
- •Операции отношения (Операции сравнения)
- •3.3. Инструкции vba
- •Операторы присваивания
- •3.3.2. Управляющие структуры
- •3.4. Процедуры и функции
- •3.5. Практические приемы программирования на vba
- •3.5.1. Примеры создания и способы запуска и сохранения пользовательских функций
3.2. Операции vba
В программах на VBA можно использовать стандартный набор операций над данными. Имеются три основных типа операций:
-
Математические, которые выполняются над числами, и их результатом являются числа.
-
Отношения, применяемые не только к числам, и их результатом являются логические значения, например x > y
-
Логические, используемые в логических выражениях, и их результатом будут логические значения, например Not x And y.
Приведем операции VBA указанных и дополнительных категорий.
Математические операции
Знак |
Операция |
Пример |
Результат |
+ |
Сложение |
3.8+4.3 |
8.1 |
- |
Вычитание |
3.8-4.3 |
-0.5 |
* |
Умножение |
2.5*1.2 |
3.0 |
/ |
Деление |
14/5 |
2.8 |
^ |
Возведение в степень |
3^2 |
9 |
- |
Перемена знака |
– (20+3) |
-23 |
\ |
Целочисленное деление |
14\5 |
2 |
Mod |
Остаток от деления по модулю |
14 MOD 5 |
4 |
Операции отношения (Операции сравнения)
Знак |
Значение операции |
Пример |
= |
Равно |
4=4 |
<> |
не равно |
5<>6 |
> |
Больше |
8>7 |
< |
Меньше |
3<6 |
>= |
больше или равно |
9>=9 |
<= |
меньше или равно |
8<=9 |
Операции сравнения могут давать один из двух результатов: «истина» или «ложь». Все приведенные примеры имеют значение «истина». Примеры, имеющие значение «ложь»: 5 = 6, 7> 8, 6< 3, 8>= 9.
Операции сравнения работают не только с числовыми, но и с текстовыми данными. Пример: “Дом1”<> “Дом2” – истина, а “Дом” <>“Дом” – ложь. Операция сравнения двух строковых выражений в VBA обозначается знаком Like, т.е. [операнд 1] Like [операнд 2].
Применяется также операция сравнения двух операндов, содержащих ссылки на объекты, которая обозначается знаком Is, т.е.[операнд 1] Is [операнд 2].
Логические операции
Наиболее часто используемыми логическими операциями являются:
[операнд1] And [операнд2] – логическое умножение;
[операнд1] Or [операнд2] – логическое сложение;
[операнд1] Not [операнд2] – логическое отрицание.
Значение логических операций And, Or и Not
Значение операндов |
Значение логических операций |
||||
A |
B |
A And B |
A Or B |
Not A |
|
Истина |
Истина |
Истина |
Истина |
Ложь |
|
Истина |
Ложь |
Ложь |
Истина |
|
|
Ложь |
Истина |
Ложь |
Истина |
Истина |
|
Ложь |
Ложь |
Ложь |
Ложь |
|
Другие операции
В VBA часто используется операция Сложение строк. Для сложения строк допустимо использование знака +, т.е. [строка1] + [строка2], но предпочтительнее, во избежание путаницы, применять операцию со знаком &, т.е. [строка1] & [строка2].
Приоритеты операций
VBA выполняет операции в соответствии с их приоритетами, что обеспечивает однозначность в трактовании выражений.
Приоритет |
Операция |
1 |
Вызов функции и скобки |
2 |
^ |
3 |
- смена знака |
4 |
*,/ |
5 |
\ |
6 |
Mod |
7 |
+,- |
8 |
>, <, >=, <=, <>, = |
9 |
Not |
10 |
And |
11 |
Or |
12 |
Xor (исключающее Or) |
13 |
Equ (логическая эквивалентность…почти не используется) |
14 |
Imp (логическая импликация….почти не используется) |