ТИПЫ ОПЕРАЦИЙ В VBA
Операции используются для объединения простых выражений в сложные. В состав VBA входят арифметические, символьные (строковые), логические операции и операции отношения. В приведенных ниже примерах выражений в качестве операндов используются литералы, вместо которых можно использовать выражения соответствующего типа:
Название операции |
Приоритет |
Знак |
Пример |
Результат |
Арифметические операции |
||||
Возведение в степень |
1 |
^ |
10 ^ 2 |
100 |
Отрицание (унарный минус) |
2 |
- |
-10 ^ 2 |
-100 |
Умножение |
3 |
* |
10 * 2 |
20 |
Деление |
3 |
/ |
20.4 / 2 |
10.2 |
Целочисленное деление |
4 |
\ |
20.4 \ 2 |
10 |
Целый остаток от деления |
5 |
MOD |
17 MOD 5 |
2 |
Сложение |
6 |
+ |
5 + 2 |
7 |
Вычитание |
6 |
- |
5 – 2 |
3 |
Символьные операции |
||||
Конкатенация |
7 |
& |
"МО " & "201" |
"МО 201" |
+ |
"МО " + "201" |
"МО 201" |
||
Операции отношения |
||||
Равно |
8 |
= |
5 = 6 |
False |
Не равно |
9 |
<> |
10 <> 3 |
True |
Меньше |
10 |
< |
10 < 3 |
False |
Больше |
11 |
> |
10 > 3 |
True |
Меньше или равно |
12 |
<= |
10 <= 10 |
True |
Больше или равно |
13 |
>= |
1 >= -1 |
True |
Сравнение с шаблоном |
14 |
Like |
"abc" Like "a*" |
True |
Логические операции |
||||
Отрицание |
15 |
Not |
Not 5 > 3 |
False |
Логическое И |
16 |
And |
2 > 0 And 2 < 5 |
True |
Включающее ИЛИ |
17 |
OR |
2 > 0 Or 5 < 0 |
True |
Исключающее ИЛИ |
18 |
XOR |
3 = 3 Xor 5 = 5 |
False |
Эквивалентность |
19 |
EQV |
2 > 5 Eqv 3 <> 3 |
True |
Примечания.
1. Все вычисления выполняются с соблюдением приоритетов выполнения операций.
Если приоритеты операций равны, то вычисления выполняются последовательно – слева направо.
Например, выражение 12/2*3 даст в результате 18 и соответствует формуле . Для изменения стандартного приоритета операций используются скобки. Например, формулу
надо записывать как 12/(2*3). Можно также записать 12/2/3.
2. Операции отношения и логические операции в качестве результата возвращают True или False (истина или ложь).
- Операция And возвращает True только в случае, когда оба выражения (записанные слева и справа от And), имеют значение True.
Например, выражение x >= 0 And x <= 5 вернет True, только если значение х находится в диапазоне [0; 5], т. е. если .
- Операция Or возвращает True в случае, когда хотя бы одно из выражений, записанных слева и справа от OR, имеет значение True.
- Операция Not сменяет True на False и наоборот.
Например, если нас интересуют значения х, не входящие в интервал [0; 5], проверку можно записать как Not (x >= 0 And x <= 5) или как x < 0 Or x > 5 .
- Операция Хоr возвращает True в случае, когда только одно из выражений, записанных слева и справа от OR, имеет значение True (еcли оба истинны, то результат – False).
- Операция Eqv возвращает True только в случае, когда оба выражения (записанные слева и справа от And), имеют одинаковые значения (оба истинны или оба ложны).
3. Хотя операции отношения и логические в качестве результата возвращают True или False (истина или ложь), на языке Basic это числа -1 и 0 соответственно.
Например, если значение переменной х равно -5, выражение -10 < x < -2 даст в результате False, так как результат первой операции -10 < x равен True, т. е. -1, а дальше -1 сравнивается с -2. Результат этого сравнения – False.