Excel VBA IF Заяви

ЯКЩО твердження в коді VBA - одне з найбільш часто використовуваних, що дозволяє зробити вибір. Якщо функція IF у VBA відрізняється порівняно з функцією EXCEL IF, тобто функція IF формули Excel перевіряє, чи задана умова або критерій оцінюється як TRUE або FALSE, а потім повертає значення на основі оцінки, тоді як оператор VBA IF виконує лише перший половина оператора, тобто перевірте, чи умова оцінюється як TRUE або FALSE, додатково ТОЖИЙ оператор повинен бути введений у оператор VBA IF для остаточної операції чи завдання для виконання.

Три параметри, які потрібно враховувати або пам’ятати під час написання коду оператора VBA IF.

  • Умова або параметр для тестування.
  • Операція або завдання, яке потрібно виконати, якщо умова - ІСТИНА.
  • Операція або завдання, яке потрібно виконати, якщо умова ЛІЖНЕ

Це твердження про прийняття рішення, яке використовується для виконання блоку коду.

Він виконує завдання або операцію, коли умова ПРАВИЛЬНА, інакше нічого не робіть або робіть щось інше. Зазвичай вислів if складається з булевого виразу з подальшими твердженнями (це може бути один або кілька).

Проста до складної умови може бути записана у висловленні IF VBA.

Нижче показані різні типи звітів про ІФ VBA з їх синтаксисом та прикладами.

Типи виписки IFСинтаксис
ЯКЩО ТОДІЯкщо тоді (заява)

Кінець, якщо

ЯКЩО ЕЛЬСЕЯкщо тоді (Заява1)

Ще:

(Заява2)

Кінець, якщо

ЯКЩО ELSEIFЯКЩО Тоді

(Заява1)

ELSEIF Тоді

(Заява2)

Кінець Якщо

ELSE І ELSEIF

(Заява ELSEIF має бути першою, після цього ELSE)

ЯКЩО (умова1 вірна) Тоді

(Заява1)

ELSEIF ( умова2 відповідає дійсності) Тоді

(Заява2)

ELSE

(Заява3)

Кінець Якщо

ЯКЩО БЕЗ ЕНДІФА

(лише код одного рядка)

Використовується, коли оператор ELSE або ELSE IF не використовується

ЯКЩО (умова справжня) Тоді (Заява)

Крім вищезазначеного твердження, також може бути використаний оператор NESTED IF, тобто оператор if або ELSEIF всередині іншого if або ELSEIF.

Як використовувати заяви IF в Excel VBA?

Ми дізнаємось типи та як використовувати VBA IF-заяви з кількома прикладами в Excel.

Ви можете завантажити цю заяву VBA IF Excel Шаблон Excel тут - VBA IF Заяви Excel Шаблон
  • Відкрийте вікно редактора VB. Виберіть або натисніть на Visual Basic у групі Код на вкладці Developer, або ви можете безпосередньо натиснути клавішу клавіш Alt + F11 .

  • Це перенесе нас до вікна кодування Visual Basic. Тепер перейдіть до меню "Вставка" у вікні VBA і виберіть "Модуль", як показано нижче.

  • Тепер створений порожній модуль, його також називають вікном коду, де ви можете почати писати, якщо коди оператора.

VBA АКОГО ЗАЯВА - Приклад №1

ЯКЩО ТАК - це проста форма оператора VBA. Формат для написання коду такий:

Якщо тоді

Ви повинні використовувати відповідність End If після введення вищевказаного синтаксису , Коли умова відповідає або критерій оцінюється як істинний, тоді всі рядки між If Потім і End If обробляються.

Коли ви введете Sub IF_THEN () в якості першого повідомлення без жодних лапок, ви можете спостерігати, Excel автоматично додає рядок End Sub під перший рядок повідомлення, коли ви натискаєте Enter. Тепер усі коди, які ви вводите, повинні бути між цими двома рядками.

Код:

 Sub IF_THEN () Якщо 3> 2, тоді MsgBox "3 більше, ніж 2" End If End Sub 

Давайте перевіримо з наведеного вище коду, який містить єдиний рядок оператора IF, який перевіряє чи перевіряє значення 3.

Якщо значення "3" більше "2", то з'являється спливаюче повідомлення з повідомленням, тобто "3 більше 2". Якщо змінити значення з " 2 " на " 5 " у коді VBA і запустити його, тоді нічого не станеться. Тому що 3 не більше 5.

Ви можете запустити макрос, натиснувши кнопку Запуск суб або натисніть F5 . З'являється спливаюче вікно вікна повідомлень VBA із повідомленням, що "3 більше, ніж 2"

Заява VBA IF-THEN-ELSE - Приклад №2

У цьому сценарії оператор IF & ELSE використовується для виконання двох різних умов. Формат або синтаксис для запису коду є:

Якщо тоді

Заява1

Ще:

Заява2

Кінець, якщо

Якщо ви запускаєте нижче згаданий код, тобто якщо комірка B4 містить значення 7, то ви отримаєте поле з повідомленням, що "Стільниця B4 має значення 7", а якщо комірка B4 містить значення, відмінне від 7, то ви отримаєте вікно з повідомленням, що "Стільниця B4 має значення, відмінне від 7".

Тут, виходячи зі значення, наявного в комірці, виникає різний результат (тобто більше ніж одна умова).

Код:

 Sub IF_THEN_ELSE () Якщо діапазон ("B4"). Значення = "7" Тоді MsgBox "Комірка B4 має значення 7" Інше MsgBox "Осередок B4 має значення, відмінне від 7" End If End Sub 

Тепер у комірці "B4" міститься значення 7, якщо я запускаю вище коду, з'являється перша умова.

Припустимо, я змінив значення комірки "B4" з 7 на 5, як показано нижче.

Код:

 Sub IF_THEN_ELSE () Якщо діапазон ("B4"). Значення = "5" Тоді MsgBox "комірка B4 має значення 7" Інше MsgBox "У комірці B4 є значення, відмінне від 7" Кінець, якщо закінчується суб 

Отже, якщо я біжу вище коду VBA IF-THEN-ELSE, з'являється друга умова.

IF-THEN-ELSEIF-ELSE - Приклад №3

Це вдосконалена форма VBA, якщо заява, формат або синтаксис для написання коду

ЯКЩО (умова1 вірна) Тоді

(Заява1)

ELSEIF ( умова2 відповідає дійсності) Тоді

(Заява2)

ELSE

(Заява3)

Кінець Якщо

Перевага цього коду полягає в тому, що ELSE IF може використовуватися одноразово або кілька разів (10 або 100 разів або більше) відповідно до вашої вимоги.

Код:

 Під IF_THEN_ELSEIF_ELSE () Якщо 5> 8, тоді MsgBox "5 більше, ніж 8" ElseIf 6> 8, тоді MsgBox "6 більший, ніж 8" ElseIf 7> 8, тоді MsgBox "7 більший за 8" Else MsgBox "5, 6 або 7 менше 8 "End If End Sub 

Давайте перевіримо, як працює вищезазначений код, Excel ініціює або обробить перше твердження, коли помітить, що воно неправдиве, то перейде до наступного. Тут усі аргументи або умова ElseIf помилкові, тому він буде продовжуватися, поки умова не буде істинною і нарешті результат аргументу Else відображається як кінцевий результат оператора IF. тобто MsgBox "5, 6 або 7 менше 8", що є істинним аргументом.

Коли ви вибираєте та запускаєте код, натискаючи кнопку Run Sub або натискаючи F5 . Спливаюче вікно вікна повідомлень VBA з повідомленням про те, що "5, 6 або 7 менше 8", що є правдивим аргументом

Тепер ви можете зберегти ці макрокоди, перейменувавши їх як VBA_IF_STATEMENT у розділ імен на вкладці властивостей

Що потрібно пам’ятати

  • Коли використовується єдиний рядок оператора IF Потім, то нарешті не потрібно використовувати End IF. Але коли ми розділимо його на більш ніж один рядок, тоді слід використовувати оператор End If.
  • У операторі VBA, IF-THEN-ELSEIF-ELSE, аргументи ElseIf повинні бути завжди розміщені перед аргументом Else.

Рекомендовані статті

Це посібник із заяв VF IF. Тут ми обговорили, як використовувати оператори IF у Excel VBA разом із практичними прикладами та шаблоном Excel, який можна завантажити. Ви також можете ознайомитися з іншими запропонованими нами статтями -

  1. Масиви VBA в Excel
  2. Керівництво по формату номерів VBA
  3. Керівництво по пошуку VBA
  4. Як користуватися VBA Do while Loop?

Категорія: