ЯКЩО НЕ у VBA
Логічні функції корисні для обчислень, для перевірки яких необхідні різні умови або критерії. У наших попередніх статтях ми бачили умови “VBA IF”, “VBA OR” та “VBA AND”. У цій статті ми обговоримо функцію “VBA IF NOT”. Перш ніж вводити функцію VBA IF NOT, дозвольте мені спочатку показати вам про функцію VBA NOT.
Що НЕ функціонує у VBA?
“NOT” - одна з логічних функцій, яку ми маємо з excel & VBA. Усі логічні функції вимагають проведення логічних тестів і повернення TRUE, якщо логічний тест є правильним, якщо логічний тест неправильний, тоді він поверне FALSE як результат.
Але “VBA НЕ” абсолютно протилежне іншій логічній функції. Я б сказав, що це обернена функція логічних функцій.
Функція “VBA NOT” повертає “FALSE”, якщо логічний тест правильний, а якщо логічний тест неправильний, він поверне “TRUE”. Тепер погляньте на синтаксис функції “VBA NOT”.
НЕ (логічний тест)Це дуже просто, нам потрібно надати логічний тест. Функція NOT оцінює тест і повертає результат.
Приклади функцій NOT & IF у VBA?
Нижче наведено приклади використання функцій IF та NOT у excel VBA.
Ви можете завантажити цей шаблон VBA, якщо не Excel, тут - VBA, якщо не шаблон Excel
Приклад №1
Для прикладу подивіться на наведений нижче код.
Код:
Sub NOT_Example () Dim k As String k = Not (100 = 100) MsgBox k End Sub
У наведеному вище коді я оголосив змінну як String.
Dim k як рядок
Тоді для цієї змінної я призначив функцію NOT з логічним тестом як 100 = 100.
k = ні (100 = 100)
Потім я написав код для відображення результату у вікні повідомлення VBA. MsgBox k
Зараз я виконаю код і побачу результат.
Результат ми отримали як “FALSE”.
А тепер озирніться на логічний тест. Ми надали логічний тест як 100 = 100, що, як правило, TRUE, оскільки ми надали функцію NOT, ми отримали результат як FALSE. Як я вже сказав, спочатку це дає зворотні результати порівняно з іншими логічними функціями. Оскільки 100 дорівнює 100, він повернув результат як FALSE.
Приклад №2
А тепер подивіться ще на один приклад з різними цифрами.
Код:
Sub NOT_Example () Dim k As String k = Not (85 = 148) MsgBox k End Sub
Код - це те саме, єдине, що я тут змінив, це те, що я змінив логічний тест із 100 = 100 на 85 = 148.
Зараз я запущу код і подивлюсь, який результат.
Цього разу ми отримали результат як TRUE. Тепер вивчимо логічний тест.
k = ні (85 = 148)
Ми всі знаємо, що 85 не дорівнює числу 148. Оскільки воно не є рівним, функція NOT повернула результат як TRUE.
НЕ з умовою IF:
У Excel або VBA будь-які логічні умови не є повноцінними без комбінованої умови IF. Використовуючи IF в умові excel, ми можемо зробити набагато більше речей, окрім типових TRUE чи FALSE. Наприклад, у наведених вище прикладах ми отримали результати за замовчуванням FALSE & TRUE, замість цього ми можемо змінити результат своїми словами.
Подивіться на код нижче.
Код:
Sub NOT_Example2 () Dim Number1 як рядок Dim Number2 як рядок Number1 = 100 Number2 = 100 Якщо ні (Number1 = Number2), тоді MsgBox "Number 1 не дорівнює числу 2" Else MsgBox "Number 1 дорівнює номеру 2" End End Кінець Sub
Я оголосив дві змінні.
Приглушене число1 як рядок та неясне число2 як рядок
Для цих двох змінних я призначив числа як 100 і 100 відповідно.
Number1 = 100 & Number2 = 100
Тоді для функції NOT я додав умову IF, щоб змінити значення TRUE або FALSE за замовчуванням. Якщо результат функції NOT має значення TRUE, тоді мій результат буде таким.
MsgBox “Номер 1 не дорівнює номеру 2”
Якщо результат функції NOT - FALSE, мій результат такий.
MsgBox “Номер 1 дорівнює номеру 2”
Зараз я запущу код і подивлюся, що станеться.
Ми отримали результат як «Номер 1 дорівнює номеру 2», тому функція NOT повернула результат FALSE до умови IF, тому умова IF повернула цей результат.
Подібно до цього, ми можемо використовувати умову IF, щоб зробити зворотний тест.