VBA Логический Operators: И, ИЛИ, НЕ, ЕСЛИ НЕ в Excel VBA
Excel VBA Логический OperaTORs
Допустим, вы хотите обработать заказ клиента. Для этого вам нужно сначала проверить, существует ли заказанный товар или нет. Если это так, вы также хотите проверить, достаточно ли имеющегося количества. В таких случаях на помощь приходят логические операторы. Логические операторы используются для оценки более чем одного условия.
Основные логические операторы Excel VBA И, ИЛИ, НЕ перечислены в таблице ниже:
| S / N | оператор | Описание | Пример | Результат |
|---|---|---|---|---|
| 1 | И | И: используется для объединения нескольких условий. Если все условия истинны, AND оценивается как истина. Если какое-либо из условий ложно, И оценивается как ложь | Если истина = истина И ложь = истина, ТО | ложный |
| 2 | OR | ИЛИ: используется для объединения нескольких условий. Если какое-либо из условий оценивается как истинное, OR возвращает true. Если все они ложны, OR возвращает false | Если истина = истина ИЛИ истина = ложь, ТО | правда |
| 3 | НЕ | НЕТ: Это работает как обратная функция. Если условие истинно, оно возвращает false, а если условие ложно, оно возвращает true. | Если НЕ (истина) Тогда | ложный |
VBA Логический Operaторсы Пример Источник Code
Для простоты мы будем сравнивать жестко закодированные числа.
Добавьте кнопки ActiveX на лист из «Вставки».
Установите свойства, как показано на изображении ниже.

В следующей таблице показаны свойства, которые необходимо изменить, а также значения, которые необходимо обновить.
| S / N | Контролировать | Свойства | Значение |
|---|---|---|---|
| 1 | КомандаКнопка1 | Имя | btnИ |
| Подпись | И Operaтор (0 = 0) | ||
| 2 | КомандаКнопка2 | Имя | btnOR |
| Подпись | OR Operaтор (1 = 1) или (5 = 0) | ||
| 3 | КомандаКнопка3 | Имя | но НЕ |
| Подпись | НЕ OperaТор Нет (0 = ) |
Добавьте следующий код в btnAND_Click
Private Sub btnAND_Click()
If (1 = 1) And (0 = 0) Then
MsgBox "AND evaluated to TRUE", vbOKOnly, "AND operator"
Else
MsgBox "AND evaluated to FALSE", vbOKOnly, "AND operator"
End If
End Sub
VBA, если И Operaтор
- «Если (1 = 1) И (0 = 0) Тогда» оператор if использует логический оператор AND для объединения двух условий (1 = 1) и (0 = 0). Если оба условия верны, выполняется код выше ключевого слова Else. Если оба условия неверны, выполняется код под ключевым словом Else.
Добавьте следующий код в btnOR_Click
Private Sub btnOR_Click()
If (1 = 1) Or (5 = 0) Then
MsgBox "OR evaluated to TRUE", vbOKOnly, "OR operator"
Else
MsgBox "OR evaluated to FALSE", vbOKOnly, "OR operator"
End If
End Sub
VBA, если ИЛИ Operaтор
- «Если (1 = 1) Или (5 = 0) Тогда» оператор if использует логический оператор OR для объединения двух условий (1 = 1) и (5 = 0). Если какое-либо из условий истинно, выполняется код выше ключевого слова Else. Если оба условия ложны, выполняется код под ключевым словом Else.
Добавьте следующий код в btnNOT_Click
Private Sub btnNOT_Click()
If Not (0 = 0) Then
MsgBox "NOT evaluated to TRUE", vbOKOnly, "NOT operator"
Else
MsgBox "NOT evaluated to FALSE", vbOKOnly, "NOT operator"
End If
End Sub
VBA, если НЕТ Operaтор
- «Если нет (0 = 0), то» Функция VBA If Not использует логический оператор NOT для отрицания результата условия оператора if. Если условия верны, выполняется код под ключевым словом «Else». Если условие истинно, выполняется код выше ключевого слова Else.
