Логические операторы VBA: И, ИЛИ, НЕ
Логические операторы Excel VBA
Допустим, вы хотите обработать заказ клиента. Для этого вы хотите сначала проверить, существует ли заказанный продукт или нет. Если это так, вы также хотите проверить, достаточно ли количества в наличии. В таких случаях могут пригодиться логические операторы. Логические операторы используются для оценки более чем одного условия.
Основные логические операторы Excel VBA И, ИЛИ, НЕ перечислены в таблице ниже:
S / N | Оператор | Описание | Пример | Выход |
1 | И | И: используется для объединения более чем одного условия. Если все условия верны, И оценивается как истинное. Если какое-либо из условий ложно, И оценивается как ложное. | Если истина = истина И ложь = истина ТО | ложный |
2 | ИЛИ ЖЕ | ИЛИ: используется для объединения более чем одного условия. Если какое-либо из условий оценивается как истина, ИЛИ возвращает истину. Если все они ложны, ИЛИ возвращает ложь | Если истина = истина ИЛИ истина = ложь ТО | истинный |
3 | НЕТ | НЕ: это работает как обратная функция. Если условие истинно, оно возвращает ложь, а если условие ложно, оно возвращает истину. | Если НЕ (правда), то | ложный |
Пример исходного кода логических операторов VBA
Для простоты мы будем сравнивать жестко закодированные числа.
Добавьте на лист кнопки ActiveX из «Вставить».
Установите свойства, как показано на изображении ниже.
В следующей таблице показаны свойства, которые необходимо изменить, и значения, которые также необходимо обновить.
S / N | Контроль | Свойство | Ценить |
1 | CommandButton1 | Имя | btnAND |
Подпись | Оператор И (0 = 0) | ||
2 | CommandButton2 | Имя | btnOR |
Подпись | Оператор ИЛИ (1 = 1) Или (5 = 0) | ||
3 | CommandButton3 | Имя | btnNOT |
Подпись | Оператор НЕ НЕ (0 =) |
Добавьте следующий код в btnAND_Click
Private Sub btnAND_Click()If (1 = 1) And (0 = 0) ThenMsgBox "AND evaluated to TRUE", vbOKOnly, "AND operator"ElseMsgBox "AND evaluated to FALSE", vbOKOnly, "AND operator"End IfEnd Sub
VBA If AND Оператор
- «If (1 = 1) And (0 = 0) Then» оператор if использует логический оператор AND для объединения двух условий (1 = 1) и (0 = 0). Если оба условия верны, выполняется код выше ключевого слова «Else». Если оба условия не верны, выполняется код под ключевым словом «Else».
Добавьте следующий код в btnOR_Click
Private Sub btnOR_Click()If (1 = 1) Or (5 = 0) ThenMsgBox "OR evaluated to TRUE", vbOKOnly, "OR operator"ElseMsgBox "OR evaluated to FALSE", vbOKOnly, "OR operator"End IfEnd Sub
VBA If OR Оператор
- «If (1 = 1) Or (5 = 0) Then» оператор if использует логический оператор OR для объединения двух условий (1 = 1) и (5 = 0). Если какое-либо из условий истинно, выполняется код выше ключевого слова Else. Если оба условия ложны, выполняется код под ключевым словом Else.
Добавьте следующий код в btnNOT_Click
Private Sub btnNOT_Click()If Not (0 = 0) ThenMsgBox "NOT evaluated to TRUE", vbOKOnly, "NOT operator"ElseMsgBox "NOT evaluated to FALSE", vbOKOnly, "NOT operator"End IfEnd Sub
VBA, если НЕ Оператор
- «If Not (0 = 0) Then» функция VBA If Not использует логический оператор NOT для отрицания результата условия оператора if. Если условия верны, выполняется код под ключевым словом «Else». Если условие истинно, выполняется код выше ключевого слова Else.
Загрузите Excel, содержащий приведенный выше код