Ohišje stikala VBA - Primeri uporabe izjave o preklopu Excel VBA

Ohišje stikala Excel VBA

Switch Case ali Select Case je stavek, ki je na voljo v VBA za izvajanje logičnih preskusov, kjer deluje kot alternativa stavku IF-THEN v VBA. S pomočjo ohišja Switch lahko izvedemo več logičnih testov in na podlagi več rezultatov pridobimo rezultate.

Spodaj je sintaksa stavka Switch Case / Select Case.

Koda:

Izberite Vrednost primera 1, če je primer 1 TRUE Vrednost primera 2, če je primer 2 Test TRUE Vrednost primera 3, če je primer 3 Test TRUE Druga vrednost vrednosti, če noben od zgornjih primerov ni TRUE End Select

: Kakšen je logični test? Tukaj moramo vstopiti v test.

Primer 1, primer 2: V vsakem primeru moramo v Excelu preizkusiti več logičnih testov.

Kako uporabiti izjavo o primeru stikala VBA?

Primer # 1

V celico A1 sem vrednost vnesel kot 550.

To številko bomo preizkusili z uporabo stavkov za preklopnike in prišli do statusa "Več kot 500", če je vrednost večja od 500, sicer pa bomo prišli do statusa "Manj kot 500".

Najprej odprite postopek VBA Sub.

Koda:

Sub Switch_Case () End Sub

Odprite Select Case Statement v VBA in podajte vrednost logičnega preskusnega obsega (»A2«)

Koda:

Sub Switch_Case () Izberite obseg primerov ("A2"). Vrednost Konec Sub

Zdaj vnesite prvi primer, saj je zadeva> 500.

Koda:

Sub Switch_Case () Izberite obseg primerov ("A2"). Vrednost primera je> 500 End Sub

Če je ta primer TRUE, kakšen rezultat potrebujemo v celici B, 2, tj. »Več kot 500«.

Koda:

Sub Switch_Case () Izberite obseg primerov ("A2"). Vrednost primera je> 500 Obseg ("B2"). Value = "Več kot 500" End Sub

Zdaj imamo samo še en rezultat, tj. Izjavo Case Else. Če je prvi primer LAŽEN, potem potrebujemo rezultat kot »Manj kot 500«.

Koda:

Sub Switch_Case () Izberite obseg primerov ("A2"). Vrednost primera je> 500 Razpon ("B2"). Value = "Več kot 500" Drugi obseg primerov ("B2"). Value = "Manj kot 500" End Sub

Zdaj zaprite stavek z uporabo stavka »End Select«.

Koda:

Sub Switch_Case () Izberite obseg primerov ("A2"). Vrednost primera je> 500 Razpon ("B2"). Value = "Več kot 500" Drugi obseg primerov ("B2"). Value = "Manj kot 500" Konec izbire Končaj pod

Zaženite kodo, vrednost bomo dobili v celici B2.

Ker je vrednost v celici A2 večja od 500, smo dobili rezultat kot »Več kot 500«.

2. primer

Zdaj bomo videli več primerov primerov. Spodaj je rezultat študenta na izpitu.

S tem rezultatom moramo priti do ocene, kajti spodaj so merila.

  • Ocena> = 85, ocena = "Razdalja"
  • Ocena> = 60, ocena = "Prva"
  • Ocena> = 50, ocena = "Druga"
  • Ocena> = 35, ocena = "uspešno"
  • Če kaj drugega Ocena = "Fail."

Koda:

Sub Switch_Case1 ()

 Zatemni oceno kot celoštevilčno oceno = 65 Izberi oceno primera Primer je> = 85 MsgBox "Dist" Primer je> = 60 MsgBox "Prvi" primer je> = 50 MsgBox "Drugi" primer je> = 35 MsgBox "Pass" Case Else MsgBox " Fail "End Select End Sub

Zaženite to kodo. Oceno bomo dobili v polju za sporočila.

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.
  • Če noben logični test ni TRUE, lahko preprosto prenesete alternativni rezultat v stavek CASE ELSE in stavek vedno zaprete z besedo "END SELECT".

Zanimive Članki...