Prohlášení k případu Excel VBA
VBA Case Statement je jednou z logických funkcí. Příkaz Case testuje více logických testů a k výsledku dospěje dvěma způsoby, tj. Pokud je výsledek nebo logický test PRAVDA jedna sada výsledku a pokud je výsledek nebo logický test FALSE, pak druhá sada výsledku.

Logické testy se obvykle provádějí pomocí vzorců IF, ať už jde o vzorec listu nebo kódování VBA; na obou platformách nám tato funkce pomáhá provádět mnoho druhů komplikovaných výpočtů. Mnoho z nás si neuvědomuje, že máme alternativu k příkazu IF ve VBA, tj. „Případ případu“. Tento článek poskytuje veškeré podrobnosti o tomto logickém tvrzení.
Syntax
Níže je uvedena syntaxe příkazu „Vybrat případ“.
Vyberte případ „Hodnota k testování“ Případ je „Logický test“ Výsledek, pokud je Případ 1 PRAVDA Případ je „Logický test“ Výsledek, pokud je Případ 2 Pravda Případ Je „Logický test“ Výsledek, pokud Případ 3 je PRAVÝ Případ Jinak Pokud žádný z výsledky jsou SKUTEČNÉ End Select
To je téměř podobné syntaxi příkazu IF, ale místo použití ELSEIF používáme případ 1, případ 2, případ 3 atd.
Příklady prohlášení o případu VBA
Příklad č. 1
V buňce A1 jsem zadal číslo jako 240.

Nyní toto číslo otestujeme, zda je větší než 200 nebo ne, pomocí příkazu SELECT CASE .
Krok 1: Nyní otevřete příkaz Select Case.
Kód:
Sub Select_Case_Example1 () Vyberte Sub End End

Krok 2: Jakmile je otevřen „Select Case“, musíme zadat, jakou hodnotu testujeme. V tomto případě testujeme hodnoty buňky A1.
Kód:
Sub Select_Case_Example1 () Vyberte rozsah případů ("A1"). Hodnota Konec Sub

Krok 3: Jakmile je nyní zadána hodnota, která má být testována, musíme použít logické testy v aplikaci Excel pomocí slova „ Case Is “.
Kód:
Sub Select_Case_Example1 () Select Range Case ("A1"). Value Case Is> 200 End Sub

Krok 4: Nyní, na dalším řádku, musíme zadat hodnotu „result“, pokud je aplikovaný logický test TRUE. V okně se zprávou potřebujeme výsledek jako „Číslo je> 200“.
Kód:
Sub Select_Case_Example1 () Select Range Case ("A1"). Value Case Is> 200 MsgBox "Number is> 200" End Sub

Krok 5: V tomto příkladu potřebujeme pouze dva výsledky, takže nebudu používat více příkazů „Case Is“. Dále použiji slovo „Case Else“ k uzavření příkazu VBA „Select Case“.
Kód:
Sub Select_Case_Example1 () Select Range Case ("A1"). Value Case Is> 200 MsgBox "Number is> 200" Case Else MsgBox "Number is <200" End Sub

Krok 6: Jakmile jsou dodány všechny případy, musíme uzavřít příkaz select case pomocí slova „End Select“.
Kód:
Sub Select_Case_Example1 () Select Range Case ("A1"). Value Case Is> 200 MsgBox "Number is> 200" Case Else MsgBox "Number is <200" End Select End Sub

Krok 7: Nyní spusťte kód a podívejte se, jaký je výsledek, který dostaneme v okně se zprávou VBA.

Výsledek, který máme, je „Number is> 200“, protože v buňce A1 je hodnota 240, což je> 200.
Příklad č. 2
Nyní uvidíme několik praktických příkladů testovacích skóre v reálném čase. Podívejte se na níže uvedený kód VBA.
Kód:
Sub Select_Case_Example2 () 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 Is> = 85 MsgBox "Distinction" Case Is> = 60 MsgBox "First Class" Case Is> = 50 MsgBox "Second Class" Case Is> = 35 MsgBox "Pass" Case Else MsgBox "Fail" End Select End Sub

Dovolte mi vysvětlit kód po řádku, abych lépe porozuměl.
Nejprve jsem deklaroval proměnnou jako Integer a pro tuto proměnnou jsem přiřadil InputBox ve VBA, kde musí uživatel zadat skóre mezi 0 a 100.
Když spustíte kód, uvidíte vstupní pole jako níže a v tomto vstupním poli musíte zadat skóre.

Nyní vše, co zadáme do vstupního pole, bude uloženo do proměnné „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 je alternativou k příkazu IF.
- Select Case je k dispozici pouze s VBA.
- V prvním řádku „Select Case“ musíme zadat pouze hodnotu, kterou je třeba otestovat. Potom v řádku „Případ“ musíme použít logický test. To je na rozdíl od našeho stavu IF.