- •Операции в языке Visual Basic
- •Арифметические операции
- •Операции сравнения
- •Операция конкатенации
- •Логические операции
- •Логические операции
- •Процедуры-функции
- •Старшинство операций
- •Приоритет операций
- •Макросы и процедуры
- •Отладка функций, созданных пользователем
- •Использование Мастера функций
- •Процедуры - подпрограммы
- •Инструкции vba
- •Продолжение инструкций на несколько строк
- •Комментарии
- •Инструкции описания
- •Инструкция Dim
- •Инструкция Private
- •Инструкция Static
- •Инструкция Option Explicit
- •Инструкция Const
- •Инструкции присвоения
- •Инструкция Let
- •Инструкция lSet
- •Инструкция Set
Логические операции
Чаще всего логические операции используются для объединения результатов отдельных выражений сравнения, чтобы создать сложные критерии для принятия решений в программе.
Можно использовать любое действительное выражение, имеющее результат логического типа, в качестве операнда или число, которое VBA может преобразовать в значение типа Boolean.
Обычно результатом логической операции является значение типа Boolean, хотя некоторые логические операции могут иметь результатом особое значение Null, если один или больше операндов имеют значение Null.
Таблица 6
Логические операции
Знак операции |
Назначение |
And |
Возвращает результат конъюнкции (логического И) для двух выражений. |
Eqv |
Используется для проверки логической эквивалентности двух выражений. |
Not |
Выполняет над выражением операцию логического отрицания. |
Or |
Выполняет операцию логического ИЛИ (сложения) для двух выражений. |
Xor |
Выполняет операцию исключающего ИЛИ для двух выражений. |
Логическая операция And
Синтаксис:
результат= выражение1 AND выражение2
Выражение1 и выражение2 – это логические выражения. Результатом выполнения логической операции And всегда является логическое значение.
Если оба выражения имеют значение True, результат имеет значение True. Если хотя бы одно из выражений имеет значение False, результат имеет значение False. Возвращаемые оператором значения представлены в таблице 7.
Таблица 7
выражение1 |
выражение2 |
результат |
True |
True |
True |
True |
False |
False |
True |
Null |
Null |
False |
True |
False |
False |
False |
False |
False |
Null |
False |
Null |
True |
Null |
Null |
False |
False |
Null |
Null |
Null |
В данном примере демонстрируется использование And для выполнения операции конъюнкции (логического умножения) двух выражений.
Dim A, B, C, D, MyCheck
A = 10: B = 8: C = 6: D = Null ' Инициализирует переменные.
MyCheck = A > B And B > C ' Возвращает True.
MyCheck = B > A And B > C ' Возвращает False.
MyCheck = A > B And B > D ' Возвращает Null.
Логическая операция Eqv
Синтаксис:
результат= выражение1 Eqv выражение2 , где
выражение1 и выражение2 – это логические выражения;
результат - логическое значение.
Если хотя бы одно из выражений имеет значение Null, то результат также имеет значение Null. Если ни одно из выражений не имеет значение Null, результат выполнения операции определяется следующим образом:
Таблица 8
выражение1 |
выражение2 |
результат |
True |
True |
True |
True |
False |
False |
False |
True |
False |
False |
False |
True |
Логическая операция OR
Синтаксис:
результат= выражение1 OR выражение2
Если одно или оба выражения истинны (имеют значение True), результат также имеет значение True. Возвращаемые оператором значения представлены в таблице 9.
Таблица 9
выражение1 |
выражение2 |
результат |
True |
True |
True |
True |
False |
True |
True |
Null |
True |
False |
True |
True |
False |
False |
False |
False |
Null |
Null |
Null |
True |
True |
Null |
False |
Null |
Null |
Null |
Null |
В данном примере демонстрируется использование операции Or для выполнения операции дизъюнкции (логического сложения) двух выражений.
Dim A, B, C, D, MyCheck
A = 10: B = 8: C = 6: D = Null ' Инициализирует переменные.
MyCheck = A > B Or B > C ' Возвращает True.
MyCheck = B > A Or B > C ' Возвращает True.
MyCheck = A > B Or B > D ' Возвращает True.
MyCheck = B > D Or B > A ' Возвращает Null.
Логическая операция XOR
Синтаксис:
результат= выражение1 XOR выражение2
Если одно и только одно из выражений истинно (имеет значение True), результат имеет значение True. Если хотя бы одно из выражений имеет значение Null, результат также имеет значение Null. Если ни одно из выражений не имеет значение Null, результат определяется следующим образом:
Таблица 10
выражение1 |
выражение2 |
результат |
True |
True |
False |
True |
False |
True |
False |
True |
True |
False |
False |
False |
В данном примере демонстрируется использование оператора Xor для выполнения операции исключающего ИЛИ для двух выражений.
Dim A, B, C, D, MyCheck
A = 10: B = 8: C = 6: D = Null ' Инициализирует переменные.
MyCheck = A > B Xor B > C ' Возвращает False.
MyCheck = B > A Xor B > C ' Возвращает True.
MyCheck = B > A Xor C > B ' Возвращает False.
MyCheck = B > D Xor A > B ' Возвращает Null.
