В этой статье мы рассмотрим основные операторы языка VBA, которые отвечают за арифметические операции, операции сравнения и присвоения, а также конкатенации.
Давайте приступим к небольшому теоретическому изложению.
Арифметические операторы языка VBA
Арифметических операторов VBA есть всего семь, фактически, они позволяют выполнять основные арифметические операции:
- Сложение (+) – собственно, суммирование двух значений
- Вычитание (-) – вычитание двух операндов, операнд – это элемент, который участвует в вычислении.
- Умножение (*) – отвечает за умножение одного операнда на другой
- Деление (/) – отвечает за деление одного значения на другое, в итоге можем получить как целое так и вещественное число
- Возведение в степень (^) – данный оператор должен быть знакомым всем, кто осваивал еще в школе старый добрый Basic.
- Целочисленное деление () – позволяет произвести первого операнда на другой, при этом, будет отброшена дробная часть, если она существует, не стоит путать с округлением.
- Деление по модулю (Mod) – при делении вернет остаток от деления
Оператор присвоения языка VBA
Собственно, ничего сложно, просто знак равенства после имени переменной, после знака равенства идет присваиваемое значение, неважно, это может быть число, дата, строка и так далее.
Примеры:
Let MyVar=100 или, аналогично, MyVar=100
Тут мы переменной MyVar присваиваем целое число 100.
Операторы сравнения языка VBA
Данный тип операторов VBA используется при сравнении условий, например, в условном операторе.
- Равенство (=) – проверка условия, равна ли переменная заданному значению
- Больше (>) или меньше (<) – позволяет проверить значение переменной на предмет, больше оно или меньше заданного параметра
- Не равно (<>) – условие типа, если переменная не равна заданному значению
- Сравнение объектов (is) – данный оператор vba позволяет проверять переменные-объекты, переменные-объекты – переменные, которые хранят не значение, а ссылку на объект. То есть, ссылаются ли заданные переменные на заданный объект, если да, то операция вернет логическое true.
- Подобие (Like) – позволяет произвести сравнение строкового объекта с заданным шаблоном и проверить, будет ли подходить заданный объект.
Стоит всегда помнить, что vba операторы сравнения всегда возвращают логические true (истина) или false (ложь). При произведении сравнения строк, их регистр будет учитываться, пробелы также учитываются. В процессе сравнения текстовых строк на предмет больше или меньше, происходит простое сравнивание двоичных кодов символов, который больше, а который меньше, если же надо учитывать алфавитный порядок, то используется выражение Option Compare Text.
Для оператора сравнения VBA – Like, как уже говорилось, надо прописать два выражения, первое – это тестовая строка, а второе – шаблон. Шаблон может содержать следующие подстановочные знаки:
- # — одиночная цифра от 0 до 9
- * — абсолютно любое количество любых символов, в том числе и нулевой
- ? – одиночный любой символ
- [a,b,c] – в данном случае любой одиночный символ из заданного списка, тут a, b или c
- [!a,b,c] – в данном случае любой одиночный символ, которого нет в заданном списке
VBA логические операторы
Логические операторы VBA позволяют проверять сразу несколько условий.
- AND — логическое И, то есть, оба условия должны выполниться
- OR — логическое ИЛИ, то есть, должно произойти выполнение хотя бы одного условия
- NOT — логическое НЕ, оно вернет TRUE, если проверяемое условие является ложным
- XOR — логическое ИСКЛЮЧАЮЩЕЕ ИЛИ, то есть, вернет true, только если один из операндов равен true, если оба равны true, то условие вернет false.
- EQV – эквивалентность двух значений
- IMP — импликация, вернет FALSE, если A1 = TRUE и A2 = FALSE, в противном случае, вернет TRUE.
VBA операторы конкатенации
& — данный оператор производит склейку двух строк или даже значений, при чем, числовые значения автоматически преобразуются в строки.
+ — данный оператор при сложении строки и значения Null (пустое значение) вернет Null, поэтому, для склейки предпочтительней использовать &.
Порядок применения операторов VBA следующий:
- арифметические
- конкатенации,
- сравнения
- логические
Использование круглых скобок позволяет регулировать порядок выполнения, собственно, как и в математике.