Оператор VBA If - Then - Else в Excel (4 приклади)

  • Поділитися Цим
Hugh West

Для виконання набору дій в залежності від заданої умови в мовах програмування використовуються умовні оператори. У даній статті ми покажемо вам, що таке If - Then - Else умовний оператор в VBA Що таке Excel і як ним користуватися.

Завантажити Робочий зошит

Ви можете завантажити безкоштовну практичну книгу Excel тут.

Якщо-Тоді-Інакше в VBA.xlsm

Вступ до інструкції If - Then - Else у мові VBA

VBA If - Then - Else Оператор умовного переходу в основному використовується для визначення послідовності виконання умов. Якщо умова істинна, то виконується певний набір дій, а якщо умова хибна, то виконується інший набір дій.

  • Синтаксис
 If умова Then [оператори] [Інакше інші_оператори] [оператори] [оператори] [оператори] [оператори] [оператори] [оператори] 

Або,

 If умова Then [оператори] [Else [інші_оператори]] End If 

Ось,

Аргумент Обов'язково/необов'язково Опис
умова Необхідно Числовий вираз або рядковий вираз, який обчислює, чи є вираз Правда або Неправда. Якщо в результаті цього не буде умова дорівнює Нулю, то вважається Неправда. .
заяви За бажанням Однорядкова форма, яка не має Інакше Одне або декілька тверджень повинні бути відокремлені двокрапкою. умова це Правда то ця заява виконується.
else_statements За бажанням Одна або декілька виписок виконуються, якщо попередні виписки не були виконані умова це Правда .

4 Приклади використання операторів VBA If - Then - Else в Excel

У цьому розділі ви дізнаєтеся, як користуватися If-Then-Else в VBA код з 4 прикладами.

1. знайти найбільше число між двома числами за допомогою оператора If - Then - Else

Якщо у вас є два числа і ви хочете дізнатися, яке з них більше (або менше), то ви можете скористатися функцією If-Then-Else заяву в VBA .

Сходинки:

  • Преса Alt + F11 на клавіатурі або перейдіть на вкладку Розробник - Visual Basic відкрити Редактор Visual Basic .

  • У вікні коду, що з'явилося, в рядку меню, що з'явилося, натисніть Вставка -> Модуль .

  • Скопіюйте наступний код та вставте його у вікно коду.
 Private Sub BiggestNumber() Dim Num1 As Integer Dim Num2 As Integer Num1 = 12345 Num2 = 12335 If Num1> Num2 Then MsgBox "Перше число більше за друге" ElseIf Num2> Num1 Then MsgBox "Друге число більше за перше" Else MsgBox "Перше число і друге число рівні" End If End Sub 

Ваш код тепер готовий до запуску.

Тут ми порівнюємо дві цифри 12345 і 12335 Цей процес зазвичай ідеально підходить для знаходження великих чисел у великому наборі даних.

  • Преса F5 на клавіатурі або в рядку меню виберіть Виконати -> Run Sub/UserForm Ви також можете просто натиснути на кнопку маленька іконка відтворення в рядку підменю для запуску макросу.

Ви отримаєте результат у форматі Excel MsgBox

У нашому випадку кількість 12345 - зберігається у змінній Num1 - більше, ніж число 12335 , Num2 Отже, MsgBox показує нам, що 1-е число більше за 2-е число .

Читати далі: Формула Excel для генерації випадкового числа (5 прикладів)

2. перевірка результату роботи студента з використанням оператора If - Then - Else у VBA

Перевірити, склав чи не склав студент іспит, можна за допомогою цієї відомості в особистому кабінеті VBA код.

Сходинки:

  • Як і раніше, відкрито Редактор Visual Basic від Розробник вкладка та Вставка a Модуль у вікні коду.
  • У вікні коду скопіюйте наступний код та вставте його.
 Sub CheckResult() If Range("D5").Value> 33 Then MsgBox "Результат Джона - Pass" Else MsgBox "Результат Джона - Fail" End If End Sub 

Ваш код тепер готовий до запуску.

Цей код перевіряє, чи є комірка D5 має значення, що перевищує 33 Якщо це так, то він покаже один результат, якщо ні, то він покаже щось інше.

  • Біжи макрос і ви отримаєте результат відповідно до вашого коду.

Подивіться на вищенаведений набір даних з результатом, комірка D5 трюми 95 що, безумовно, більше, ніж 33 , отже, він відображає Результат - зараховано Але якщо ми запустимо код для Cell D7 (22), то він буде відображати інакше.

Читати далі: Як використовувати оператор case в VBA (13 прикладів)

Схожі читання

  • Як використовувати функцію журналу в Excel VBA (5 відповідних прикладів)
  • Використання функції VBA LTrim в Excel (4 приклади)
  • Як використовувати функцію VBA FileDateTime в Excel (3 приклади)
  • Використання оператора Mod у VBA (9 прикладів)
  • Функція VBA EXP в Excel (5 прикладів)

3. Оновлення коментарів у студентській оцінці за допомогою декількох операторів If - Then - Else у VBA

Ви навчилися витягувати чи є студент прохідним чи ні за допомогою єдиного If-Then-Else заяву, але цього разу ви дізнаєтесь про Множинні If-Then-Else заяви з наступним прикладом.

Ми проведемо VBA код для заповнення цих Коментар боксів на основі декількох умов.

Сходинки:

  • Як і раніше, відкрито Редактор Visual Basic від Розробник вкладка та Вставка a Модуль у вікні коду.
  • У вікні коду скопіюйте наступний код та вставте його.
 Sub UpdateComment() For Each grade In Range("D5:D10") If grade = "A" Then grade.Offset(0, 1).Value = "Відмінна робота" ElseIf grade = "B" Then grade.Offset(0, 1).Value = "Так тримати" ElseIf grade = "C" Then grade.Offset(0, 1).Value = "Потребує покращення" Else grade.Offset(0, 1).Value = "Батьківські збори" End If Next grade EndSub 

Ваш код тепер готовий до запуску.

Даний код буде виводити коментарі відповідно до отриманої студентами оцінки.

  • Біжи цей код і побачите наступну картинку, де поля для коментарів заповнені відповідними результатами.

4. оператор If-Then-Esse для оновлення основних напрямків на основі коду в Excel

Ви також можете скористатися If-Then-Else знайти кардинальні напрямки, виходячи з наданого коду індикатора. Подивіться на наступний малюнок, де ми дізнаємося напрямки, виходячи з ініціалів, які були надані.

Сходинки:

  • Відкрито Редактор Visual Basic від Розробник вкладка та Вставка a Модуль у вікні коду.
  • У вікні коду скопіюйте наступний код та вставте його.
 Sub UpdateDir() For Each iDirection In Range("B5:B8") If iDirection = "N" Then iDirection.Offset(0, 1).Value = "North" ElseIf iDirection = "S" Then iDirection.Offset(0, 1).Value = "South" ElseIf iDirection = "E" Then iDirection.Offset(0, 1).Value = "East" Else iDirection.Offset(0, 1).Value = "West" End If Next iDirection EndSub 

Ваш код тепер готовий до запуску.

  • Біжи цей код і Ви отримаєте назви напрямків у відповідних комірках.

Або, якщо ви хочете знайти лише один напрямок за кодом, то можете скористатися кодом нижче.

 Sub UpdateDirections() Dim iDirection As String Dim iDirectionName As String iDirection = Range("B5").Value If iDirection = "N" Then iDirectionName = "North" ElseIf iDirection = "S" Then iDirectionName = "South" ElseIf iDirection = "E" Then iDirectionName = "East" Else iDirectionName = "West" End If Range("C5").Value = iDirectionName End Sub 

Цей код буде приймати значення з комірки B5 до уваги і повертає результат відповідно до нього в комірку C5 .

Наприклад, якщо ви пишете " N " в Cell B5 це дасть вам " Північ якщо ви напишете " S " в Cell B5 він покаже вам " Південь " в Cell C5 .

Висновок

У цій статті ви дізналися, як використовувати If - Then - Else виписку в Excel з VBA Сподіваюся, ця стаття була для вас дуже корисною. Не соромтеся запитувати, якщо у вас виникнуть запитання щодо цієї теми.

Г’ю Вест — досвідчений тренер і аналітик Excel із понад 10-річним досвідом роботи в галузі. Він має ступінь бакалавра з бухгалтерського обліку та фінансів і ступінь магістра з ділового адміністрування. Г’ю має пристрасть до викладання та розробив унікальний підхід до викладання, який легко зрозуміти та дотримуватися. Його експертне знання Excel допомогло тисячам студентів і професіоналів у всьому світі вдосконалити свої навички та досягти успіху в кар’єрі. У своєму блозі Г’ю ділиться своїми знаннями зі світом, пропонуючи безкоштовні навчальні посібники з Excel та онлайн-навчання, щоб допомогти окремим особам і компаніям повністю розкрити свій потенціал.