Корпус перемикача VBA - Як використовувати заяву про перемикання справи в Excel VBA?

Зміст:

Anonim

Корпус комутатора Excel VBA

У випадку VBA Switch Case, коли нам потрібно логічно перевірити або проаналізувати стан та виконати різні рядки кодів на основі одного і того ж, ми використовуємо умовне твердження IF-Else. Аналогічно, є ще один оператор Switch Case, який широко відомий як оператор Select Case, який може перевірити або проаналізувати кілька логічних умов та виконати рядки коду на основі цих. Якщо у вас є три або більше логічних умов для перевірки, рекомендується використовувати Select Case або Switch Case замість звичайного оператора IF-Else. Тому що це робить код VBA швидшим і зрозумілішим замість вкладених операцій IF-Else в таких випадках.

Switch Case / Select Case

Switch Case або Select Case в VBA працює за аналогічними рядками, як і у IF-Else. Він перевіряє численні логічні / умовні вирази на різні значення (випадки). Як тільки будь-який із випадків відповідає умові (стає дійсним для даної умови), система виконує цей випадок, а інші інші ігноруються для виконання. У випадку, якщо для даної умови є два випадки, правда буде виконана лише перша з законом пріоритету.

Синтаксис для перемикача випадку / Виберіть регістр наведено нижче:

Select Case
Case value_1
Code to Execute when Expression = value_1
Case value_2
Code to Execute when Expression = value_2
Case value_3
Code to Execute when Expression = value_3
.
.
.
Case value_n
Code to Execute when Expression = value_n
Case Else
Code to Execute when no case value meets the expression/logical test.
End Select

Де,

Вираз: це вираз, для якого ми хотіли перевірити або проаналізувати, використовуючи різні значення величини.

value_1, value_2, value_3, … - це логічні умови, які необхідно перевірити для даного виразу.

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

Ми дізнаємось, як використовувати оператор Switch Case в Excel за допомогою коду VBA.

Ви можете завантажити цей шаблон VBA Switch Switch Excel тут - шаблон VBA Switch Switch Excel

Корпус комутатора VBA - приклад №1

Ми перевіримо, чи вказане число менше 100 або більше 100. Для цього виконайте кроки нижче:

Крок 1: Вставте новий модуль у візуальний базовий редактор (VBE). Перейдіть на вкладку Вставка > виберіть Модуль.

Крок 2: Визначте новий підпроцедур у вставленому модулі, який може містити ваш макрос.

Код:

 Sub switch_case_example1 () Кінець Sub 

Крок 3: Визначте нову змінну з назвою usrInpt, яка може містити значення користувача. Скористайтеся функцією VBA InputBox для створення вікна введення, який приймає значення користувача через змінну usrInpt .

Код:

 Sub switch_case_example1 () Dim usrInpt As Integer usrInpt = InputBox ("Будь ласка, введіть своє значення") Кінець Sub 

Крок 4: Використовуйте оператор Select Case і вкажіть значення, надане користувачем через змінну usrInpt . Це вираз, який нам потрібно перевірити з логічними умовами.

Код:

 Sub switch_case_example1 () Dim usrInpt As Integer usrInpt = InputBox ("Будь ласка, введіть своє значення") Виберіть Case usrInpt End Sub 

Крок 5: Введіть перший логічний тест, який слід перевірити під твердженням Case наступним чином.

Код:

 Sub Switch_case_example1 () Dim usrInpt As Integer usrInpt = InputBox ("Будь ласка, введіть своє значення") Виберіть Case usrInpt Case <100 End Sub 

Крок 6: Використовуйте функцію MsgBox, щоб додати вихідне повідомлення, якщо значення Case <100 є істинним.

Код:

 Sub Switch_case_example1 () Dim usrInpt As Integer usrInpt = InputBox ("Будь ласка, введіть своє значення") Виберіть Case case usrInpt Case <100 MsgBox "Забезпечене число менше 100" End Sub 


Крок 7: Тепер нам потрібно надати виконуваний оператор, коли значення для usrInpt перевищує 100. Додайте Case і MsgBox для досягнення цього.

Код:

 Sub switch_case_example1 () Dim usrInpt As Integer usrInpt = InputBox ("Будь ласка, введіть своє значення") Виберіть "Case case usrInpt" - 100 MsgBox "Забезпечене число більше 100" End Sub 

Крок 8: Що робити, якщо значення, надане користувачем, саме 100? У нас немає жодного випадку для цього. Додамо ту, яка дає користувачеві повідомлення про те, що значення, яке він ввів, - 100.

Код:

 Sub Switch_case_example1 () Dim usrInpt As Integer usrInpt = InputBox ("Будь ласка, введіть своє значення") Виберіть Case usrInpt Case 100 MsgBox "Наведене число перевищує 100" Case Is = 100 MsgBox "Забезпечене число 100" End Sub 

Крок 9: нам потрібно закінчити оператор Select Case. Використовуйте End Select, щоб закінчити створений цикл.

Код:

 Sub Switch_case_example1 () Dim usrInpt As Integer usrInpt = InputBox ("Будь ласка, введіть своє значення") Виберіть Case usrInpt Case 100 MsgBox "Наведене число перевищує 100" Case Is = 100 MsgBox "Наведене число 100" End Select End Під 

Крок 10: Тепер запустіть цей код, натиснувши кнопку Запустити або F5. З'явиться нове спливаюче вікно з проханням перевірити значення. Я введіть значення як 110 і натисніть кнопку ОК на полі введення. Оскільки число, яке я ввожу, перевищує 100, як тільки я натискаю кнопку ОК, на моєму екрані з’явиться нове повідомлення із записом: «Наведене число перевищує 100».

Корпус комутатора VBA - приклад №2

Припустимо, ми хочемо зафіксувати оцінку учнів на основі їх оцінок. Дивіться кроки нижче про те, як ми можемо цього досягти.

Крок 1: Визначте нову підпроцедуру з назвою switch_case_example2 .

Код:

 Sub switch_case_example2 () Кінець Sub 

Крок 2: Визначте дві нові змінні - позначки як цілі числа, а класи - як рядок, використовуючи оператор Dim у створеній під-процедурі.

Код:

 Sub switch_case_example2 () Dim позначає як цілісні розміри Dim як String End Sub 

Крок 3: Використовуйте функцію VBA InputBox, за допомогою якої користувач може вводити значення для мінливих знаків .

Код:

 Sub Switch_case_example2 () Dim позначки як цілісні розміри Dim як String marks = InputBox ("Будь ласка, введіть позначки") Кінець Sub 

Крок 4: Використовуйте оператор Select Case і введіть знаки змінної як вираз, який потрібно перевірити.

Код:

 Sub switch_case_example2 () Dim позначки як цілісні розміри Dim як String marks = InputBox ("Будь ласка, введіть позначки") Виберіть знаки регістру Кінець Sub 

Оскільки ми хочемо присвоїти оцінки учням на основі оцінок, які вони вводять, нам потрібно визначити оцінки спочатку.

Крок 5: Використовуйте випадок з регістром, щоб перевірити, чи знаки менше 35. Якщо це так, призначіть значення змінним класам «F».

Код:

 Sub Switch_case_example2 () Dim знаки як цілісні розміри Dim як String marks = InputBox ("Будь ласка, введіть позначки") Виберіть знаки регістру. Справа <35 класів = "F" Кінець Sub 

Крок 6: Якщо позначки знаходяться від 35 до 45, призначте значення "D" змінним класам.

Код:

 Sub switch_case_example2 () Dim знаки як цілісні розміри Dim як String marks = InputBox ("Будь ласка, введіть позначки") Виберіть відмітки "Case" <35 класів = "F" Випадок 35 - 45 класів = "D" Кінець Під 

Крок 7: Якщо введені позначки знаходяться від 46 до 55, значення "C" слід присвоїти змінним класам.

Код:

 Sub switch_case_example2 () Dim знаки як цілісні розміри Dim як String marks = InputBox ("Будь ласка, введіть позначки") Виберіть Знаки регістру Справа <35 класів = "F" Випадок від 35 до 45 класів = "D" Випадок 46 - 55 класи = Закінчення Sub 

Крок 8: Коли позначки знаходяться в діапазоні 56-65, значення, присвоєне змінним класам, має бути "B".

Код:

 Sub switch_case_example2 () Dim знаки як цілісні розміри Dim як String marks = InputBox ("Будь ласка, введіть позначки") Виберіть Знаки регістру Справа <35 класів = "F" Випадок від 35 до 45 класів = "D" Випадок 46 - 55 класи = "C" Випадок 56 До 65 класів = "B" Кінець Під 

Крок 9: Для балів від 66 до 75 оцінка повинна бути "А".

Код:

 Sub switch_case_example2 () Dim знаки як цілісні розміри Dim як String marks = InputBox ("Будь ласка, введіть позначки") Виберіть Знаки регістру Справа <35 класів = "F" Випадок від 35 до 45 класів = "D" Випадок 46 - 55 класи = "С" Випадок 56 До 65 класів = "Б" Випадок 66 До 75 класів = "А" Кінець Під 

Крок 10: Якщо введених знаків більше 75, змінній оцінок слід призначити значення "A +"

Код:

 Sub switch_case_example2 () Dim позначки як цілісні розміри Dim як String marks = InputBox ("Будь ласка, введіть позначки") Виберіть Знаки регістру Справа 75 балів = "A +" Кінець Підряд 

Крок 11: Використовувати кінець Виберіть закриття циклу Select Case.

Код:

 Sub switch_case_example2 () Dim знаки як цілісні розміри Dim як String marks = InputBox ("Будь ласка, введіть позначки") Виберіть Знаки регістру Справа 75 балів = "A +" Кінець Виберіть Кінець Під 

Крок 12: Тепер нам потрібно перевірити, яка оцінка є пов’язаною з оцінками, які студент вніс. Щоб досягти цього, використовуйте функцію MsgBox таким чином, щоб вона позначала досягнуті класи у вікні повідомлення.

Код:

 Sub switch_case_example2 () Dim знаки як цілісні розміри Dim як String marks = InputBox ("Будь ласка, введіть позначки") Виберіть відмітки справи. Справа становить 75 балів = "A +" Кінець Виберіть MsgBox "Досягнута оцінка:" & оцінки End Sub 

Крок 13: Запустіть цей код, натиснувши кнопку F5 або Run, і ви побачите поле введення VBA із запитом значення позначки. Я вписую позначки як 72 і натискаю кнопку ОК, наявну у вікні введення. Як тільки я натискаю кнопку ОК всередині поля введення, я отримаю вікно з повідомленням про марки, пов'язані з введеними позначками.

Ось так ми можемо використовувати оператор Switch / Select Case всередині VBA.

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

  • Перемикач регістру насправді є синонімом для оператора Select Case в VBA. Це було названо так, тому що за допомогою цього твердження ми можемо перемикатися між різними результатами одночасно.
  • Це твердження можна використовувати як альтернативу циклу IF-Else, коли у нас є три або більше умов для перевірки.
  • Гаразд, якщо ви не використовуєте випадок ELSE у виписці Вибір випадку. Однак у цьому випадку вам потрібно переконатися, що принаймні одна умова відповідає всій циклі.

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

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

  1. Колекція VBA (приклади)
  2. Виписки VBA IF | Шаблони Excel
  3. Як використовувати функцію сортування Excel VBA?
  4. VBA while цикл (приклади з шаблоном Excel)
  5. VBA Environment