Pouzdro přepínače VBA - Příklady použití příkazu Přepínač Excel VBA

Pouzdro přepínače Excel VBA

Přepnout případ nebo Vybrat případ je příkaz dostupný ve VBA k provádění logických testů, kde funguje jako alternativa k příkazu IF-THEN ve VBA. Pomocí pouzdra Switch Switch můžeme provést několik logických testů a dosáhnout výsledků na základě více výsledků.

Níže je uvedena syntaxe příkazu Přepnout případ / Vybrat případ.

Kód:

Vyberte hodnotu případu 1, pokud je test případu 1 PRAVDA Hodnota případu 2, pokud je test případu 2 PRAVDA případu 3 hodnota, pokud je test případu 3 PRAVDA případu Else hodnota, pokud žádný z výše uvedených případů není PRAVDA konec vyberte

: Jaký je logický test? Musíme zadat test zde.

Případ 1, Případ 2: V každém případě musíme otestovat několik logických testů v aplikaci Excel.

Jak používat prohlášení o případu přepínače VBA?

Příklad č. 1

V buňce A1 jsem zadal hodnotu jako 550.

Toto číslo otestujeme pomocí příkazů přepnutí případu a dostavíme stav „Více než 500“, pokud je hodnota větší než 500, jinak dosáhneme stavu „Méně než 500“.

Nejprve otevřete proceduru VBA Sub.

Kód:

Sub Switch_Case () End Sub

Otevřete příkaz Select Case Statement ve VBA a zadejte hodnotu logického testu Range („A2“)

Kód:

Sub Switch_Case () Vyberte rozsah případů ("A2"). Hodnota Konec Sub

Nyní zadejte první případ, protože případ je> 500.

Kód:

Sub Switch_Case () Vyberte rozsah případů („A2“). Hodnota případu je> 500 End Sub

Pokud je tento případ TRUE, jaký je výsledek, který potřebujeme v buňce B, 2, tj. „Více než 500“.

Kód:

Sub Switch_Case () Vyberte rozsah případů ("A2"). Hodnota případu je rozsah> 500 ("B2"). Hodnota = "Více než 500" End Sub

Nyní nám zbývá pouze jeden výsledek, tj. Příkaz Case Else. Pokud je první případ NEPRAVDA, potřebujeme výsledek jako „Méně než 500“.

Kód:

Sub Switch_Case () Vyberte rozsah případů ("A2"). Hodnota případu je rozsah> 500 ("B2"). Hodnota = "Více než 500" Rozsah jiných případů ("B2"). Hodnota = "Méně než 500" End Sub

Nyní příkaz uzavřete pomocí příkazu „Ukončit výběr“.

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 End Sub

Spusťte kód, který získá hodnotu v buňce B2.

Protože hodnota v buňce A2 je větší než 500, dostali jsme výsledek jako „Více než 500“.

Příklad č. 2

Nyní uvidíme použití více příkladů případů. Níže je uvedeno skóre studenta při zkoušce.

S tímto skóre musíme dosáhnout stupně, protože níže uvedená kritéria.

  • Skóre> = 85, známka = „dist“
  • Skóre> = 60, známka = „první“
  • Skóre> = 50, známka = „druhá“
  • Skóre> = 35, známka = „vyhovět“
  • Pokud něco jiného Grade = „Fail“.

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 " Selhat "Konec Vybrat Konec Sub

Spusťte tento kód. Hodnocení dostaneme do pole se zprávou.

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.
  • Pokud žádné logické testy nemají hodnotu PRAVDA, můžete jednoduše předat alternativní výsledek v příkazu CASE ELSE a příkaz vždy zavřít slovem „END SELECT“.

Zajímavé články...