HTML, Excel, Word, SEOОсновы VBA ⇒ Логические операторы VBA

Основы VBA

Самоучитель vba: Теория
..Первый макрос в Word
..Этапы записи макроса
..Запись макроса в Word
..Запись макроса в Excel
..Код макроса
..Выполнение макроса
..Типы данных VBA
..Переменные VBA
..Константы VBA
..Совместимость типов данных
..Арифметические операторы
..Логические операторы
..Строковые операторы
..Функции VBA ч.1
..Функции VBA ч.2
..Примеры использования функций
..Функции host-приложений
..Функции-процедуры
..Пользовательские функции в Excel
..Операторы ветвления: простой выбор
..Операторы ветвления: сложный выбор
..Использование MsgBox
..Прерывание процедур и функций
..Необязательные аргументы функций
..Циклы VBA ч.1
..Циклы ч.2
..Циклы ч.3
..Массивы VBA ч.1
..Массивы ч.2
..Массивы ч.3
..Управление файлами с помощью VBA
Самоучитель vba: Практика
Игра: Цепная реакция
Приложения
..Сумматор
..Наклейки
..Восьмерка
..Менеджер почты
Надстройки
..DEF
..SortSheets
..HideSheet



Логические операторы VBA


Оператор Синтаксис Описание
AND A AND B Конъюнкция: Если А и В имеют значение True, то - True. Иначе - False
OR A OR B Дизъюнкция: Если любой из операндов имеет значение True, то - True. Иначе - False
NOT NOT A Отрицание: Если А имеет значение False, то - True. Иначе - False
XOR A XOR B Исключение: Если А имеет значение True или В имеет значение True, то - True. Иначе - False
EQV A EQV B Эквивалентность: Если А имеет такое же значение что и В, то - True. Иначе - False
IMP A IMP B Импликация: Если А имеет значение True и В имеет значение False, то - False. Иначе - True

В качестве операнда для логического оператора можно использовать любое действительное выражение, имеющее результат типа Boolean, а также число, которое может быть преобразовано в значение типа Boolean.

Результатом логической операции является значение типа Boolean (или Null, если хотя бы один из операндов имеет значение Null).

Логический оператор AND

Синтаксис:
Операнд_1 AND Операнд_2


Оператор AND выполняет логическую конъюнкцию.

Результатом данной операции является значение True, только когда оба операнда имеют значение True, иначе - False.


Таблица истинности

Операнд_1 Операнд_2 Результат
True True True
True False False
False True False
False False False

Оператор AND можно использовать для нескольких операндов:


(5<7) AND (4>3) AND (5=6)   результатом будет False


Независимо от количества операндов результатом логической операции AND будет True только в том случае, когда все операнды выражения будут иметь значение True. В любом другом случае результатом будет False. Обратите внимание, что операнды заключаются в круглые скобки. VBA сначала вычисляет значение каждого операнда внутри скобок, а затем уже все выражение полностью.

Логический оператор OR

Синтаксис:
Операнд_1 OR Операнд_2


Оператор OR выполняет логическую дизъюнкцию.

Результатом данной операции является значение True, если хотя бы один из операндов имеет значение True, иначе - False.


Таблица истинности

Операнд_1 Операнд_2 Результат
True True True
True False True
False True True
False False False

Оператор OR можно использовать для нескольких операндов:


(5<7) OR (4>3) OR (5=6)   результатом будет True


Независимо от количества операндов результатом логической операции OR будет всегда True в том случае, если хотя бы один из операндов выражения будет иметь значение True. Иначе результатом будет False.

Операторы AND и OR можно комбинировать:


((5<7) AND (4>3)) OR (5=6)   результатом будет True


Логический оператор NOT

Синтаксис:
NOT Операнд


Оператор NOT выполняет логическое отрицание.

Оператор NOT использует только один операнд.


Таблица истинности

Операнд Результат
True False
False True

Операторы AND OR NOT можно комбинировать:


((5<7) AND (4>3)) OR NOT (5=6)   результатом будет True


Логический оператор XOR

Синтаксис:
Операнд_1 XOR Операнд_2


Оператор XOR выполняет логическое исключение.

Результатом данной операции является значение True, если операнды имеют разные значения, иначе - False.


Таблица истинности

Операнд_1 Операнд_2 Результат
True True False
True False True
False True True
False False False

((5<7) AND (4>3)) OR NOT (5=6) XOR (5=5)    результатом будет False


Логический оператор EQV

Синтаксис:
Операнд_1 EQV Операнд_2


Оператор EQV - это оператор логической эквивалентности.

Результатом данной операции является значение True, если операнды имеют одинаковые значения, иначе - False.


Таблица истинности

Операнд_1 Операнд_2 Результат
True True True
True False False
False True False
False False True

((5<7) AND (4>3)) OR NOT (5=6) EQV (5=5)    результатом будет True


Логический оператор IMP

Синтаксис:
Операнд_1 IMP Операнд_2


Оператор IMP выполняет логическую операцию импликации.


Таблица истинности

Операнд_1 Операнд_2 Результат
True True True
True False False
False True True
False False True

((5<7) AND (4>3)) OR NOT (5=6) IMP (5=5)    результатом будет True


Логический оператор IMP наименее интуитивно понятный из всех логических операторов. К счастью, необходимость в его применении возникает довольно редко.




В начало страницы



В начало страницы