Как да използвам Select Case Statement във VBA? (Примери)

Изложение на дело за избиране на Excel VBA

Select Case е заместител на записването на множество оператори if във VBA, когато имаме много условия в кода, може да се наложи да използваме множество инструкции If и което може да бъде досадно, тъй като става по-сложно, тъй като се предоставят повече от инструкциите If select case statement определяме критериите като различни случаи и резултати според тях.

SELECT CASE помага в процеса на вземане на решения. В това се използва само един израз за оценка на различните възможни случаи. Множество условия се анализират лесно за изпълнение на разработения код. Това твърдение за случай се използва като заместител на ELSE IF за оценка на изрази. Класифицира се като логическа функция, вградена в Excel. За да използвате тази функция, кодът се въвежда чрез редактора на visual basic, представен в раздела за разработчици.

Обяснение

В Select Case се използват различни групи твърдения. Следният синтаксис трябва да се следва, за да се използва ефективно това. Той е подобен на оператора за превключване, представен в други езици за програмиране като Java, C # и PHP.

 Изберете [Case] ​​Expression за тестване [Case] ​​Списък на изявленията за изразяване (Case 1, Case 2, Case 3 и т.н. ...) Case Else (Else Statements) End Select 

Обяснението на термините, свързани с избрания случай, се предоставя, както следва

Израз за тестване: Изисква се да се оценят различните типове данни като цяло число, низ, булев, обект и символ.

Списък на изразите:  Изразът се създава заедно с кутията, за да се намери точното съвпадение на въведения вход. Ако има повече от два израза, те се разделят с помощта на оператора запетая. 'Is' е ключова дума, използвана при сравняване на двата израза, използвайки логическите оператори в Excel като =,, =.

  • End Select: Затваря дефиницията на случай на избор на конструктор
  • Изявления: Изявленията се разработват, използвайки случая, за да стартират изразите, които се оценяват, за да се анализира дали има някакво съвпадение
  • Else Statements: Това е да тествате инструкцията else, когато изразът за тестване не съвпада с нито един от случаите.

Как да използвам VBA Select Case Statement?

Функцията за избор на случай, предоставена от VBA, не се изпълнява в нормалните работни листове. Трябва да използваме опцията Visual Basic в раздела за програмисти. Дефинирани от потребителя функции и кодиране, създадени в режим за разработчици, за да стартират различните малки приложения в бизнес областта.

Използва се в ситуации, когато има вложени if изрази в Excel. Това е най-добрият вариант за справяне с различни случаи. За да използвате ефективно тази опция, трябва да се изпълнят следните задачи

  • На първо място, трябва да се създаде макрос, като се постави управление на командния бутон в листа на Excel.
  • След това щракнете с десния бутон върху командния бутон и изберете опция за преглед на кода
  • Поставете кода между функцията на командния бутон и крайния суб
  • Отстранете грешката в кода, за да идентифицирате всички синтаксисни грешки.
  • Компилирайте кода, за да намерите грешки при компилацията, за да изпълните успешно програмата
  • Променете входните стойности, за да наблюдавате различни резултати въз основа на критериите за съвпадение
Можете да изтеглите този шаблон на VBA Select Case Excel тук - VBA Select Case Excel Template

Пример # 1 - Проста декларация за избор на случай

Този пример е да се разбере простият случай за избор, за да се намери съответстващата стойност.

Код:

Частен Sub Selcaseexmample () Затъмнете A Като цяло A = 20 Изберете случай A Случай 10 MsgBox "Първият случай е съвпаднал!" Случай 20 MsgBox "Вторият случай е съчетан!" Случай 30 MsgBox "Трети случай е съчетан в Select Case!" Случай 40 MsgBox "Четвъртият случай е съчетан в Select Case!" Case Else MsgBox "Нито един от случаите не е съчетан!" End Изберете End Sub

Резултат:

За сравнение на тестовия израз с различни случаи се използва израз на четири случая и изявление case else. В настоящия пример вторият случай е съчетан като променлива А съвпада с 20.

Пример # 2 - Ключова дума „До“ за тестване на оценките

Този пример обяснява използването на ключовата дума „До“ с избрания регистър.

Код:

Private Sub Selcasetoexample () Затъмняване на студентски марки като целочислени студентски марки = InputBox („Въвеждане на маркировки между 1 до 100?“) Избиране на студентски марки за случай От 1 до 36 MsgBox „Неуспешно!“ Калъф 37 до 55 MsgBox "C клас" Калъф 56 до 80 MsgBox "B клас" Калъф 81 до 100 MsgBox "A клас" Кейс Else MsgBox "Извън обхвата" End Select End Sub

Резултат:

Ключовата дума „To“ е полезна при дефинирането на набора от тестови изрази в диапазон. Полезно е при намирането на оценката, получена от студент чрез сравняване на различните случаи. След като стартираме програмата, трябва да въведем стойността, за да получим резултата.

Резултатът се показва със съобщение, както е показано на горната екранна снимка.

Пример # 3 - Използване на ключова дума „Is“ с главна буква

Този пример демонстрира използването на ключова дума 'Is' с избрания регистър.

Код:

 Sub CheckNumber () Dim NumInput As Integer NumInput = InputBox ("Please enter a number") Select Case NumInput Case Is = 200 MsgBox "Въведохте число, по-голямо или равно на 200" End Select End Sub 

Ключовата дума „Is“ помага да се намерят съответстващите стойности само с главни букви. Той сравнява тестовия израз с даден вход, за да произведе изхода.

Резултатът се получава, както е показано на фигурата, ако въведената стойност е повече от 200

Пример # 4 - С команден бутон за промяна на стойностите

Избраният случай също се използва с бутона Command чрез създаване на макрос.

Код:

 Подцвят () Затъмнен цвят Като низ на цвят = Обхват ("A1"). Избор на стойност Цвят на калъфа Калъф "Червен", "Зелен", "Жълт" Обхват ("B1"). Стойност = 1 Калъф "Бял", "Черен "," Кафяв "Обхват (" B1 "). Стойност = 2 случая" Синьо "," Небесно синьо "Обхват (" B1 "). Стойност = 3 калъфа Друг обхват (" B1 "). Стойност = 4 Край Изберете Край Sub 

Както е показано в програмата, входът се взема от клетките на работния лист. Програмата се изпълнява след щракване върху командния бутон, използван от ActiveX контролите. В това се използва разделител на запетая за комбиниране на тестовите изрази.

Когато стойността в клетка A1 се промени, това води до промяна в клетката B1 също чрез стартиране на макроса на excel чрез командния бутон. Можете да се обърнете към екранната снимка, дадена по-долу: -

Пример # 5 - Проверете число Нечетно или четно

Този пример за помощ при проверка на число е четен или нечетен.

Код:

 Sub CheckOddEven () CheckValue = InputBox ("Въведете номера") Изберете Case (CheckValue Mod 2) = 0 Case True MsgBox "Числото е четно" Case False MsgBox "Числото е нечетно" End Select End Sub 

Кодирането се разработва, както е показано на екранната снимка, а изходът се показва, както следва, когато се въведе четен номер.

Пример # 6 - Вложени отчети за избрани случаи

Влагането е полезна характеристика на избрания случай и е показан начинът, по който се прави.

Код:

 Sub TestWeekday () Select Case Weekday (Now) Case 1, 7 Select Case Weekday (Now) Case 1 MsgBox "Today is Sunday" Case Else MsgBox "Today is Saturday" End Select Case Else MsgBox "Today is a Weekday" End Select End Под 

Here the select case is defined inside another select case to test a day, weekday, or weekend. Except case 1 and 7 remaining all are weekdays (Note: case 1 is Sunday and case 7 is Saturday)

Things to Remember

  • The ‘Is’ keyword using in the statement of [case] and [case else] are not equal.
  • ActiveX control should be used in executing program through a command button taking input and displaying output in the excel sheet range of cells.
  • It is hard to run the programs in VBA if macros are disabled and always enable Macros to get best results.
  • VBA is a case sensitive and input should be entered accurately to get better results.