Декларация за дело на Excel VBA
VBA Case Statement е една от логическите функции. Case Statement тества множество логически тестове и пристига резултата по два начина, т.е. ако резултатът или логическият тест е TRUE един набор от резултати и ако резултатът или логическият тест е FALSE, тогава вторият набор от резултати.

Логическите тестове обикновено се провеждат с помощта на формули IF, било то формула на работен лист или в VBA кодиране; и в двете платформи тази функция ни помага да провеждаме много видове сложни изчисления. Не много от нас осъзнават, че имаме алтернатива на изявлението IF в VBA, т.е. „Изложение на делото“. Тази статия ви предоставя пълни подробности за този логически израз.
Синтаксис
По-долу е синтаксисът на оператора „Select Case“.
Изберете случай „Стойността, която трябва да се тества“ Резултатът е „Логически тест“ Резултат, ако случай 1 е ИСТИНСКИ случай е „Логически тест“ Резултат, ако случай 2 е ИСТИНСКИ случай е „Логически тест“ Резултат, ако случай 3 е ИСТИНСКИ случай Друг случай, ако никой от резултатите са TRUE End Select
Това е почти подобно на синтаксиса на израза IF, но вместо да използваме ELSEIF, използваме случай 1, случай 2, случай 3 и т.н.
Примери за декларация за случай на VBA
Пример # 1
В клетка А1 въведох числото като 240.

Сега ще тестваме това число дали е по-голямо от 200 или не, като използваме оператора SELECT CASE .
Стъпка 1: Отворете изявлението Select Case сега.
Код:
Sub Select_Case_Example1 () Select Case End Sub

Стъпка 2: След като се отвори „Select Case“, трябва да предоставим каква е стойността, която тестваме. В този случай тестваме стойности на клетка А1.
Код:
Sub Select_Case_Example1 () Избор на диапазон от случаи ("A1"). Стойност Край Sub

Стъпка 3: След като стойността, която трябва да се тества, е дадена сега, трябва да приложим логически тестове в Excel, като използваме думата „ Case Is “.
Код:
Sub Select_Case_Example1 () Изберете диапазон на случаите ("A1"). Стойността Case е> 200 End Sub

Стъпка 4: Сега, в следващия ред, трябва да предоставим стойността „резултат“, ако приложеният логически тест е TRUE. В полето за съобщение се нуждаем от резултата като “Number is> 200”.
Код:
Sub Select_Case_Example1 () Изберете диапазон на случаите ("A1"). Стойността Case е> 200 MsgBox "Номер е> 200" End Sub

Стъпка 5: В този пример се нуждаем само от два резултата, така че няма да използвам повече твърдения „Case Is“. След това ще използвам думата „Case Else“, за да затворя изявлението на VBA „Select Case“.
Код:
Sub Select_Case_Example1 () Изберете диапазон на случая ("A1"). Стойността Case е> 200 MsgBox "Номер е> 200" Case Else MsgBox "Номер е <200" End Sub

Стъпка 6: След като всички случаи са предоставени, трябва да затворим изявлението за избор на случай, като използваме думата „End Select“.
Код:
Sub Select_Case_Example1 () Изберете обхват на случая ("A1"). Стойността Case е> 200 MsgBox "Номер е> 200" Case Else MsgBox "Номер е <200" End Select End Sub

Стъпка 7: Сега стартирайте кода и вижте какъв е резултатът, който получаваме в полето за съобщения на VBA.

Резултатът, който получихме, е “Number is> 200”, защото в клетка A1 стойността е 240, което е> 200.
Пример # 2
Сега ще видим някои практически примери в реално време за тестови резултати. Вижте долния код на VBA.
Код:
Sub Select_Case_Example2 () Dim ScoreCard As Integer ScoreCard = Application.InputBox ("Резултатът трябва да бъде ч / т 0 до 100", "Каква е оценката, която искате да тествате") Case Case ScoreCard Case Is> = 85 MsgBox "Distinction" Case Е> = = 60 MsgBox "Първокласен" Калъф е> = 50 MsgBox "Втори клас" Калъф е> = 35 MsgBox "Пропуск" Друг MsgBox "Неуспешен" Край Изберете Край Sub

Позволете ми да обясня кода ред по ред, за да разбера по-добре.
Първо, декларирах променливата като Integer и за тази променлива съм задал InputBox във VBA, където потребителят трябва да въведе резултата между 0 и 100.
Когато стартирате кода, ще видите полето за въвеждане, както по-долу, и в това поле за въвеждане трябва да въведете резултата.

Сега каквото и да въведем в полето за въвеждане, ще се съхранява в променливата „ScoreCard.“
In the next line, I have applied a select case statement to test this score.
First, it will test the ScoreCard>=85 or not. If this is TRUE, then we will get the value in the message box as “Distinction.”
Select Case ScoreCard Case Is>= 85 MsgBox "Distinction"
Similarly, in the following lines, I have applied the second test as ScoreCard>=60. If this is TRUE, then it will show the result as “First.”
Case Is>= 60 MsgBox "First Class"
Like this, I have applied other tests as well, and in the end, I have used the “Case Else” statement. If all the applied logical tests are FALSE, then we will get the result as “Fail.”
Case Else MsgBox "Fail"
Now I have supplied 68 as the score, and we should get the result as “First Class” in the message box.

Example #3 - Using the “To” keyword
In the above example, we have used student scores to arrive at the result. The same test can be conducted by using the “To” word to determine the lower limit and upper limit of the logical test.
Code:
Sub Select_Case_Example3() Dim ScoreCard As Integer ScoreCard = Application.InputBox("Score should be b/w 0 to 100", "What is the score you want to test") Select Case ScoreCard Case 85 To 100 MsgBox "Distinction" Case 60 To 84 MsgBox "First Class" Case 50 To 59 MsgBox "Second Class" Case 35 To 49 MsgBox "Pass" Case Else MsgBox "Fail" End Select End Sub

I have used the same code as above, but the only yellow-colored area I have changed here. Based on the number we type in the input box accordingly, we will get the result.

Things to Remember
- Select Case е алтернатива на изявлението IF.
- Select Case се предлага само с VBA.
- В първия ред на „Select Case“ трябва само да предоставим стойността, която трябва да бъде тествана. След това в реда „Case“ трябва да приложим логическия тест. Това е за разлика от нашето IF условие.