Puzdro prepínača VBA Príklady použitia príkazu na prepnutie Excel VBA

Puzdro prepínača Excel VBA

Switch Case alebo Select Case je vyhlásenie dostupné vo VBA na vykonávanie logických testov, kde funguje ako alternatíva k vyhláseniu IF-THEN vo VBA. Pomocou puzdra Switch Switch môžeme vykonať niekoľko logických testov a na základe viacerých výsledkov dospieť k výsledkom.

Nižšie je uvedená syntax príkazu Prepnúť prípad / Vybrať prípad.

Kód:

Vyberte prípad prípadu 1, ak je test prípadu 1 PRAVDA prípad 2, ak je test prípadu 2 pravdivý prípadu 3 hodnota, ak je test prípadu 3 PRAVDA prípadu iná hodnota, ak žiadny z vyššie uvedených prípadov nie je PRAVÝ koniec výber

: Aký je logický test? Tu musíme vstúpiť do testu.

Prípad 1, Prípad 2: V každom prípade musíme otestovať viac logických testov v programe Excel.

Ako používať vyhlásenie o prípade prepínača VBA?

Príklad č

V bunke A1 som zadal hodnotu ako 550.

Toto číslo otestujeme pomocou príkazov na prepínanie prípadov a dostavíme stav „Viac ako 500“, ak je hodnota vyššia ako 500, inak dosiahneme stav „Menej ako 500“.

Najskôr otvorte postup VBA Sub.

Kód:

Sub Switch_Case () End Sub

Otvorte príkaz Select Case Statement vo VBA a zadajte hodnotu logického testovacieho rozsahu („A2“)

Kód:

Sub Switch_Case () Vyberte rozsah prípadov („A2“). Hodnota Koniec Sub

Teraz zadajte prvý prípad, pretože prípad je> 500.

Kód:

Sub Switch_Case () Vyberte rozsah prípadov („A2“). Prípad hodnoty je> 500 Koncový sub

Ak je tento prípad TRUE, aký je výsledok, ktorý potrebujeme v bunke B, 2, tj. „Viac ako 500“.

Kód:

Sub Switch_Case () Vyberte rozsah prípadov („A2“). Prípad hodnoty je rozsah> 500 („B2“). Hodnota = „Viac ako 500“ End Sub

Teraz nám zostáva iba jeden výsledok, tj vyhlásenie Case Else. Ak je prvý prípad FALSE, potom potrebujeme výsledok ako „Menej ako 500“.

Kód:

Sub Switch_Case () Vyberte rozsah prípadov ("A2"). Hodnota prípadu je> 500 rozsahu ("B2"). Hodnota = "Viac ako 500" rozsahu iných prípadov ("B2"). Hodnota = "Menej ako 500" End Sub

Teraz príkaz zatvorte pomocou príkazu „Ukončiť výber“.

Kód:

Sub Switch_Case () Select Range Case ("A2"). Value Case Is> 500 Range ("B2"). Value = "More than 500" Case Else Range ("B2"). Value = "Less than 500" End Select Koniec Sub

Spustením kódu dostaneme hodnotu v bunke B2.

Pretože hodnota v bunke A2 je väčšia ako 500, dostali sme výsledok ako „Viac ako 500“.

Príklad č

Teraz uvidíme použitie ďalších príkladov prípadov. Nižšie je uvedené skóre študenta pri skúške.

S týmto skóre musíme dospieť k známke, pretože nižšie sú uvedené kritériá.

  • Skóre> = 85, známka = „dist“
  • Skóre> = 60, známka = „prvé“
  • Skóre> = 50, známka = „druhá“
  • Skóre> = 35, známka = „vyhovujúci“
  • Ak niečo iné, stupeň = „zlyhanie“.

Kód:

Sub Switch_Case1 ()

 Dim Score As Integer Score = 65 Select Case Case Case Is> = 85 MsgBox "Dist" Case Is> = 60 MsgBox "First" Case Is> = 50 MsgBox "Second" Case Is> = 35 MsgBox "Pass" Case Else MsgBox " Zlyhanie „Koniec Vyberte Koniec Sub

Spustite tento kód. Známku dostaneme do okna správy.

Since the score is more than 60 but less than 85 grade is “First.”

Example #3

We have seen how to find a grade for one student, what about finding a grade for more than one student. Below are the scores of students.

Since more than one student is involved, we need to enclose FOR NEXT loop in VBA. Below is the VBA code.

Code:

Sub Switch_Case2() Dim k As Integer For k = 2 To 7 Select Case Cells(k, 2).Value Case Is>= 85 Cells(k, 3).Value = "Dist" Case Is>= 60 Cells(k, 3).Value = "First" Case Is>= 50 Cells(k, 3).Value = "Second" Case Is>= 35 Cells(k, 3).Value = "Pass" Case Else Cells(k, 3).Value = "Fail" End Select Next k End Sub

Run this code. We will get grades.

Things to Remember

  • Switch Case is often referred to as “Select Case.”
  • The switch is a function, not a statement.
  • Ak žiadne logické testy nie sú PRAVDA, potom môžete jednoducho odovzdať alternatívny výsledok do príkazu CASE ELSE a príkaz vždy uzavrieť slovom „END SELECT“.

Zaujímavé články...