Операторы VBA: арифметические, логические, сравнения, присвоения
Оператор — это наименьшая способная выполняться единица кода VBA. Оператор может объявлять или определять переменную, устанавливать параметр компилятора VBA или выполнять какое-либо действие в программе.
Арифметических операторов в VBA всего 7. Четыре стандартных: сложение (+), вычитание (-), умножение (*), деление (/) и еще три:
Оператор присвоения в VBA — знак равенства. Можно записывать так:
Let nVar = 10
а можно еще проще:
nVar = 10
Во втором случае не путайте знак равенства с оператором равенства.
Выражение
nVar = 10
значит "присвоить переменной nVar значение 10", а если строка выглядит так:
If ( nVar = 10)
то это значит "если значение переменной nVar равно 10".
Если переменной нужно назначить объект, то делается это другими способами.
Операторов сравнения в VBA всего 8:
Операторы сравнения всегда возвращают true или false — true, если утверждение истинно, и false, если ложно.
Немного про сравнение строковых значений:
Option Compare Text
Чуть подробнее про оператор Like. Общий его синтаксис выглядит как
Выражение1 Like Выражение2
При этом Выражение1 — любое текстовое выражение VBA, а Выражение2 — шаблон, который передается оператору Like. В этом шаблоне можно использовать специальные подстановочные символы (см. Табл. 3.1)
Табл. 3.1 Подстановочные символы для оператора LIKE
Подстановочный символ |
Значение |
# |
Любая цифра (только одна) от 0 до 9 |
* |
Любое количество любых символов (включая нулевое) |
? |
Любой символ (только один) |
[a,b,c] |
Любой символ (только один) из приведенного списка |
[!a,b,c] |
Любой символ (только один), кроме приведенных в списке |
Очень часто при проверке нескольких условий используются логические операторы:
Помнить нужно про AND, OR, NOT, остальные логические операторы используются редко.
Почти в любой программе VBA используются операторы конкатенации. В VBA их два — + или &. Рекомендуется всегда использовать &, потому что:
Пример:
MsgBox "Сообщение пользователю" & vUserName
Порядок применения операторов можно регулировать при помощи круглых скобок.