VBA kapcsolótok - Példák az Excel VBA kapcsoló utasítás használatára

Tartalomjegyzék

Excel VBA kapcsolótok

A Switch Case vagy a Select Case egy olyan utasítás, amely a VBA-ban elérhető logikai tesztek elvégzésére, ahol az IF-THEN utasítás alternatívájaként működik a VBA-ban. A Switch Case használatával több logikai tesztet is elvégezhetünk, és több eredmény alapján érkezhetünk eredményekre.

Az alábbiakban bemutatjuk a Switch Case / Select Case utasítás szintaxisát.

Kód:

Válassza ki az 1. eset esetértékét, ha az 1. eset tesztje IGAZ 2. eset értéke, ha a 2. eset tesztje IGAZ 3. eset értéke, ha a 3. eset tesztje IGAZ eset, ha a fenti esetek egyike sem igaz.

: Mi a logikai teszt? Itt kell megadnunk a tesztet.

1. eset, 2. eset: Mindegyik esetben több logikai tesztet kell tesztelnünk az excelben.

Hogyan kell használni a VBA Switch esettanulmányt?

1. példa

Az A1 cellába 550 értéket írtam be.

Teszteljük ezt a számot a switch case utasítások segítségével, és eljutunk a „Több mint 500” állapotba, ha az érték meghaladja az 500-at, különben a „kevesebb, mint 500” állapotot kapjuk.

Először nyissa meg a VBA Sub eljárást.

Kód:

Sub Switch_Case () End Sub

Nyissa meg a VBA Esettanulmány kiválasztása elemet, és adja meg a logikai teszttartomány („A2”) értéket

Kód:

Sub Switch_Case () Esettartomány kiválasztása ("A2"). Érték End Sub

Most írja be az első esetet, mivel az eset> 500.

Kód:

Sub Switch_Case () Esettartomány kiválasztása ("A2"). Az érték eset értéke> 500 End Sub

Ha ez az eset IGAZ, akkor milyen eredményre van szükségünk a B, 2 cellában, vagyis a „Több mint 500”.

Kód:

Sub Switch_Case () Válassza ki az esettartományt ("A2"). Az értékes eset> 500 tartomány ("B2"). Érték = "Több mint 500" End Sub

Most már csak egy eredmény maradt, vagyis a Case Else nyilatkozat. Ha az első eset HAMIS, akkor az eredményre “kevesebb, mint 500” van szükség.

Kód:

Sub Switch_Case () Válassza ki az esettartományt ("A2"). Az érték eset értéke> 500 tartomány ("B2"). Érték = "Több mint 500" eset más tartomány ("B2"). Érték = "kevesebb mint 500" vég al

Most zárja le az utasítást a „Vége kiválasztás” utasítással.

Kód:

Alkapcsoló_eset () Válassza ki az esettartományt ("A2"). Az érték esete> 500 tartomány ("B2"). Érték = "Több mint 500" egyéb eset ("B2"). Érték = "kevesebb, mint 500" vég kiválasztása End Sub

Futtassa a kódot, amellyel megkapjuk az értéket a B2 cellában.

Mivel az A2 cellában az érték nagyobb, mint 500, az eredményt „Több mint 500” -ként kaptuk.

2. példa

Most további esetpéldákat fogunk használni. Az alábbiakban a hallgató pontszáma látható a vizsgán.

Ezzel a pontszámmal el kell jutnunk a Grade-re, mert ez az alábbi kritérium.

  • Pontszám> = 85, fokozat = „Dist”
  • Pontszám> = 60, osztályzat = „első”
  • Pontszám> = 50, osztályzat = „második”
  • Pontszám> = 35, osztályzat = „sikeres”
  • Ha bármi más Grade = “Fail”.

Kód:

Sub Switch_Case1 ()

 Dim Pontszám egész számként = 65 Esettanulmány kiválasztása Eset> = 85 MsgBox "Dist" Eset> = 60 MsgBox "Első" Eset>> 50 MsgBox "Második Eset> = 35 MsgBox" Pass "Eset Más MsgBox" Fail "End Select End End Sub

Futtassa ezt a kódot. A minősítést az üzenet mezőbe kapjuk.

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.
  • Ha egyetlen logikai teszt sem igaz, akkor egyszerűen átadhatja az alternatív eredményt a CASE ELSE utasításban, és mindig zárja le az utasítást az „END SELECT” szóval.

érdekes cikkek...