VBA jungiklio dėklas - „Excel VBA Switch“ pareiškimo naudojimo pavyzdžiai

„Excel VBA“ jungiklio dėklas

„Switch Case“ arba „Select Case“ yra teiginys, prieinamas VBA atlikti loginius bandymus, kur jis veikia kaip alternatyva IF-THEN teiginiui VBA. Naudodami „Switch Case“ galime atlikti kelis loginius bandymus ir gauti rezultatus, pagrįstus keliais rezultatais.

Žemiau pateikiama „Switch Case / Select Case“ sakinio sintaksė.

Kodas:

Pasirinkite 1 atvejo reikšmę, jei 1 atvejo testas yra TIKRA 2 atvejo vertė, jei 2 atvejo testas yra TIKRA 3 atvejo vertė, jei 3 atvejo testas yra TIKRA kita byla, jei nė vienas iš anksčiau nurodytų atvejų nėra tikras

: Koks yra loginis testas? Čia turime įvesti testą.

1 atvejis, 2 atvejis: kiekvienu atveju turime išbandyti kelis loginius testus „Excel“.

Kaip naudoti VBA jungiklio atvejo aprašą?

1 pavyzdys

Langelyje A1 aš įrašiau vertę kaip 550.

Išbandysime šį skaičių naudodami jungimo atvejo teiginius ir pasieksime būseną „Daugiau nei 500“, jei vertė yra didesnė nei 500, arba būsime „Mažiau nei 500“.

Pirmiausia atidarykite „VBA Sub“ procedūrą.

Kodas:

Sub Switch_Case () Pabaigos Sub

VBA atidarykite „Select Case Statement“ ir pateikite loginio bandymo diapazono („A2“) reikšmę

Kodas:

Sub Switch_Case () Pasirinkite atvejų diapazoną ("A2"). Reikšmė End Sub

Dabar įveskite pirmąjį atvejį, nes byla yra> 500.

Kodas:

Sub Switch_Case () Pasirinkite atvejų diapazoną ("A2"). Reikšmės atvejis yra> 500 pabaigos antrinis

Jei šis atvejis yra TIESA, tada kokio rezultato mums reikia langelyje B, 2, ty „Daugiau nei 500“.

Kodas:

Sub Switch_Case () Pasirinkite atvejų diapazoną ("A2"). Reikšmės atvejis yra> 500 diapazonas ("B2"). Reikšmė = "Daugiau nei 500" Pabaiga Sub

Dabar mums liko tik vienas rezultatas, ty „Case Else“ pareiškimas. Jei pirmasis atvejis yra NETIESA, mums rezultatas reikalingas kaip „Mažiau nei 500“.

Kodas:

Sub Switch_Case () Pasirinkite bylų diapazoną ("A2"). Reikšmės atvejis yra> 500 diapazonas ("B2"). Reikšmė = "Daugiau nei 500" kita byla ("B2"). Reikšmė = "Mažiau nei 500" pabaigos dalis

Dabar uždarykite teiginį naudodami teiginį „Pabaigos pasirinkimas“.

Kodas:

Sub Switch_Case () Pasirinkite atvejų diapazoną ("A2"). Reikšmės atvejis yra> 500 diapazonas ("B2"). Reikšmė = "Daugiau nei 500" kita byla ("B2"). Reikšmė = "Mažiau nei 500" pabaigos pasirinkimas Pabaigos sub

Paleiskite kodą, kurio vertę gausime B2 langelyje.

Kadangi A2 langelio vertė yra didesnė nei 500, rezultatą gavome kaip „Daugiau nei 500“.

2 pavyzdys

Dabar pamatysime naudodami daugiau atvejų pavyzdžių. Žemiau pateikiamas egzamino studento balas.

Turėdami šį balą turime pasiekti „Grade“, nes žemiau yra kriterijai.

  • Rezultatas> = 85, Įvertinimas = „Dist“
  • Rezultatas> = 60, įvertinimas = „pirmas“
  • Balas> = 50, Įvertinimas = „Antras“
  • Balas> = 35, Įvertinimas = „Išlaikyti“
  • Jei kas kita Įvertinimas = „Nepavyko“.

Kodas:

Antrasis jungiklis_ Byla1 ()

 „Dim Score“ kaip sveikasis skaičius = 65 Pasirinkti atvejo balą Byla yra> = 85 MsgBox „Dist“ byla yra> = 60 MsgBox "Pirmoji byla yra> = 50 MsgBox" Antroji byla yra> = 35 MsgBox "Pass" Byla kita MsgBox " Nepavyko "Pabaiga Pasirinkti Pabaiga

Paleiskite šį kodą. Įvertinimą gausime pranešimų laukelyje.

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.
  • Jei jokie loginiai testai nėra TIKRI, tuomet tiesiog galite perteikti alternatyvų rezultatą teiginyje CASE ELSE ir visada uždaryti teiginį žodžiu „END SELECT“.

Įdomios straipsniai...