VBA, ЕСЛИ НЕ | Как использовать функцию ЕСЛИ и НЕ в Excel VBA?

ЕСЛИ НЕ в VBA

Логические функции полезны для вычислений, требующих проверки нескольких условий или критериев. В наших предыдущих статьях мы видели условия «VBA IF», «VBA OR» и «VBA AND». В этой статье мы обсудим функцию «VBA IF NOT». Прежде чем представить функцию VBA IF NOT, позвольте мне сначала рассказать вам о функции VBA NOT.

Что НЕ является функцией в VBA?

«НЕ» - одна из логических функций Excel и VBA. Все логические функции требуют проведения логических тестов и возвращают ИСТИНА, если логическая проверка верна, если логическая проверка неверна, тогда в качестве результата возвращается ЛОЖЬ.

Но «VBA NOT» полностью противоположен другой логической функции. Я бы сказал, что это функция, обратная логическим функциям.

Функция «VBA NOT» возвращает «FALSE», если логическая проверка верна, а если логическая проверка неверна, она возвращает «TRUE». Теперь посмотрим на синтаксис функции «VBA NOT».

НЕ (логический тест)

Это очень просто, нам нужно провести логический тест. Функция НЕ оценивает тест и возвращает результат.

Примеры функции НЕ и ЕСЛИ в VBA?

Ниже приведены примеры использования функций ЕСЛИ и НЕ в excel VBA.

Вы можете скачать этот шаблон VBA IF NOT Excel здесь - шаблон VBA IF NOT Excel

Пример # 1

Взгляните на приведенный ниже код в качестве примера.

Код:

 Sub NOT_Example () Dim k As String k = Not (100 = 100) MsgBox k End Sub 

В приведенном выше коде я объявил переменную как String.

 Dim k As String 

Затем для этой переменной я назначил функцию НЕ с логическим тестом как 100 = 100.

k = Нет (100 = 100)

Затем я написал код, чтобы показать результат в окне сообщения VBA. MsgBox k

Теперь выполню код и посмотрю результат.

Мы получили результат «ЛОЖЬ».

Теперь вернемся к логическому тесту. Мы предоставили логический тест как 100 = 100, что обычно ИСТИНА, поскольку мы дали функцию НЕ, мы получили результат как ЛОЖЬ. Как я уже сказал, вначале он дает обратные результаты по сравнению с другими логическими функциями. Поскольку 100 равно 100, он вернул результат как ЛОЖЬ.

Пример # 2

А теперь посмотрите еще один пример с другими числами.

Код:

 Sub NOT_Example () Dim k As String k = Not (85 = 148) MsgBox k End Sub 

Код тот же самый, единственное, что я здесь изменил, - я изменил логический тест с 100 = 100 на 85 = 148.

Теперь я запущу код и посмотрю, каков результат.

На этот раз мы получили результат ИСТИНА. Теперь рассмотрим логический тест.

k = Нет (85 = 148)

Все мы знаем, что 85 не равно числу 148. Поскольку это не равно, функция НЕ вернула результат как ИСТИНА.

НЕ с условием ЕСЛИ:

В Excel или VBA любые логические условия не являются полными без условия IF комбинации. Используя IF в условии excel, мы можем делать гораздо больше вещей, кроме значения по умолчанию TRUE или FALSE. Например, в приведенных выше примерах мы получили результаты по умолчанию ЛОЖЬ и ИСТИНА, вместо этого мы можем изменить результат своими словами.

Посмотрите на приведенный ниже код.

Код:

 Sub NOT_Example2 () Dim Number1 As String Dim Number2 As String Number1 = 100 Number2 = 100 If Not (Number1 = Number2) Then MsgBox "Number 1 is not equal to Number 2" Else MsgBox "Number 1 is equal to Number 2" End If Конец подписки 

Я объявил две переменные.

 Dim Number1 as String & Dim Number2 as String 

Для этих двух переменных я присвоил числа 100 и 100 соответственно.

Число1 = 100 и Число2 = 100

Затем для функции NOT я добавил условие IF, чтобы изменить значение по умолчанию TRUE или FALSE. Если результат функции НЕ ИСТИНА, то мой результат будет следующим.

MsgBox «Число 1 не равно числу 2»

Если результатом функции НЕ является ЛОЖЬ, то мой результат будет следующим.

MsgBox «Число 1 равно числу 2»

Теперь я запущу код и посмотрю, что произойдет.

Мы получили результат как «Число 1 равно числу 2», поэтому функция НЕ вернула результат ЛОЖЬ в условие ЕСЛИ, поэтому условие ЕСЛИ вернуло этот результат.

Таким образом, мы можем использовать условие ЕСЛИ для выполнения обратного теста.