VBA-bryterveske - Eksempler på bruk av Excel VBA-brytererklæring

Innholdsfortegnelse

Excel VBA-bryterveske

Switch Case eller Select Case er en uttalelse som er tilgjengelig i VBA for å gjennomføre logiske tester der den fungerer som et alternativ til IF-THEN-uttalelse i VBA. Ved å bruke en Switch Case kan vi gjennomføre flere logiske tester og komme frem til resultater basert på flere resultater.

Nedenfor er syntaksen til uttalelsen fra Switch Case / Select Case.

Kode:

Velg Case Case 1 Verdi hvis Case 1 Test er TRUE Case 2 Value hvis Case 2 Test er TRUE Case 3 Verdi hvis Case 3 Test er TRUE Case Else Value hvis ingen av de ovennevnte tilfellene er TRUE End Select

: Hva er den logiske testen? Vi må gå inn i testen her.

Sak 1, sak 2: I hvert tilfelle må vi teste flere logiske tester i excel.

Hvordan bruke VBA Switch Case Statement?

Eksempel 1

I celle A1 har jeg angitt verdien som 550.

Vi vil teste dette nummeret ved å bruke sakserklæringer og komme til statusen "Mer enn 500" hvis verdien er mer enn 500, ellers kommer vi til statusen "Mindre enn 500".

Åpne VBA Sub-prosedyren først.

Kode:

Sub Switch_Case () Slutt Sub

Åpne Select Case Statement i VBA og oppgi den logiske testområdet (“A2”)

Kode:

Sub Switch_Case () Velg Case Range ("A2"). Verdi End Sub

Skriv inn den første saken da saken er> 500.

Kode:

Sub Switch_Case () Velg Case Range ("A2"). Value Case Is> 500 End Sub

Hvis denne saken er SANN, hva er resultatet vi trenger i celle B, 2, dvs. "Mer enn 500".

Kode:

Sub Switch_Case () Velg Case Range ("A2"). Value Case Is> 500 Range ("B2"). Verdi = "Mer enn 500" End Sub

Nå sitter vi igjen med bare ett resultat, dvs. uttalelse fra Case Else. Hvis den første saken er FALSK, trenger vi resultatet som "Mindre enn 500".

Kode:

Sub Switch_Case () Velg saksområde ("A2"). Verdisak er> 500 rekkevidde ("B2"). Verdi = "Mer enn 500" Saks annet område ("B2"). Verdi = "Mindre enn 500" Slutt sub

Lukk nå uttalelsen ved å bruke "End Select" -uttalelsen.

Kode:

Sub Switch_Case () Velg saksområde ("A2"). Verdisak er> 500 rekkevidde ("B2"). Verdi = "Mer enn 500" Saks annet område ("B2"). Verdi = "Mindre enn 500" Sluttvalg Slutt Sub

Kjør koden vi får verdien i celle B2.

Siden verdien i celle A2 er større enn 500, fikk vi resultatet som "Mer enn 500".

Eksempel 2

Nå vil vi se å bruke flere caseeksempler. Nedenfor er poengsummen til studenten i eksamen.

Med denne poengsummen må vi komme til karakter, for det nedenfor er kriteriene.

  • Resultat> = 85, Karakter = “Dist”
  • Resultat> = 60, Karakter = “Først”
  • Resultat> = 50, Karakter = “Andre”
  • Resultat> = 35, Karakter = “Bestått”
  • Om noe annet, karakter = "mislykkes."

Kode:

Sub Switch_Case1 ()

 Dim score as Ingerger Score = 65 Velg Case Score Case Is> = 85 MsgBox "Dist" Case Is> = 60 MsgBox "First" Case Is> = 50 MsgBox "Second" Case Is> = 35 MsgBox "Pass" Case Else MsgBox " Fail "End Select End Sub

Kjør denne koden. Vi får karakteren i meldingsfeltet.

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.
  • Hvis ingen logiske tester er SANTE, kan du bare sende det alternative resultatet i CASE ELSE-setningen og alltid lukke utsagnet med ordet “END SELECT”.

Interessante artikler...