VBA slēdža korpuss - Piemēri, kā izmantot Excel VBA komutatora paziņojumu

Satura rādītājs

Excel VBA slēdža korpuss

Switch Case vai Select Case ir paziņojums, kas pieejams VBA, lai veiktu loģiskus testus, kur tas darbojas kā alternatīva IF-THEN paziņojumam VBA. Izmantojot slēdža lietu, mēs varam veikt vairākus loģiskus testus un iegūt rezultātus, pamatojoties uz vairākiem rezultātiem.

Zemāk ir paziņojuma Switch Case / Select Case sintakse.

Kods:

Atlasiet 1. gadījuma vērtību, ja 1. gadījuma pārbaude ir PATIESA 2. gadījuma vērtība, ja 2. gadījuma pārbaude ir PATIESA 3. gadījuma vērtība, ja 3. gadījuma pārbaude ir PATIESA.

: Kāds ir loģiskais tests? Mums šeit jāieiet pārbaudē.

1. gadījums, 2. gadījums : katrā gadījumā mums ir jāpārbauda vairāki loģiski testi programmā Excel.

Kā lietot VBA Switch Case Statement?

1. piemērs

Šūnā A1 es ievadīju vērtību 550.

Mēs pārbaudīsim šo skaitli, izmantojot slēdža gadījuma paziņojumus, un sasniegsim statusu kā “Vairāk nekā 500”, ja vērtība ir lielāka par 500, vai arī mēs nonāksim pie statusa “Mazāk par 500”.

Vispirms atveriet procedūru VBA Sub.

Kods:

Sub Switch_Case () Beigas Sub

VBA atveriet Select Case Statement un atlasiet loģiskā testa diapazona (“A2”) vērtību

Kods:

Sub Switch_Case () Atlasiet gadījumu diapazonu ("A2"). Vērtība Beigas Sub

Tagad ievadiet pirmo lietu, jo lieta ir> 500.

Kods:

Sub Switch_Case () Atlasiet lietu diapazonu ("A2"). Vērtības gadījums ir> 500 End Sub

Ja šis gadījums ir PATIESA, tad kāds rezultāts mums ir vajadzīgs šūnā B, 2, ti, “Vairāk nekā 500”.

Kods:

Sub Switch_Case () Atlasiet gadījumu diapazonu ("A2"). Vērtības gadījums ir> 500 diapazons ("B2"). Vērtība = "Vairāk nekā 500" Beigu apakšdaļa

Tagad mums paliek tikai viens rezultāts, ti, Case Else paziņojums. Ja pirmais gadījums ir FALSE, mums rezultāts ir vajadzīgs kā “Mazāk nekā 500”.

Kods:

Sub Switch_Case () Atlasiet lietu diapazonu ("A2"). Vērtības gadījums ir> 500 diapazons ("B2"). Vērtība = "Vairāk nekā 500" citu gadījumu diapazons ("B2"). Vērtība = "Mazāk nekā 500" beigu apakšdaļa

Tagad aizveriet paziņojumu, izmantojot paziņojumu “End Select”.

Kods:

Apakšslēdža_ lieta () Atlasiet lietu diapazonu ("A2"). Vērtības gadījums ir> 500 diapazons ("B2"). Vērtība = "Vairāk nekā 500" gadījumu cits diapazons ("B2"). Vērtība = "Mazāk nekā 500" beigu izvēle Beigu apakšnodaļa

Palaidiet kodu, kuru mēs saņemsim vērtību šūnā B2.

Tā kā vērtība šūnā A2 ir lielāka par 500, rezultāts tika iegūts kā “Vairāk nekā 500”.

2. piemērs

Tagad mēs redzēsim, izmantojot vairāk gadījumu piemērus. Zemāk ir studenta vērtējums eksāmenā.

Ar šo rezultātu mums jānonāk pie pakāpes, jo zemāk ir norādīti kritēriji.

  • Rezultāts> = 85, pakāpe = “Dist”
  • Rezultāts> = 60, pakāpe = “Pirmais”
  • Rezultāts> = 50, pakāpe = “otrā”
  • Rezultāts> = 35, pakāpe = “Atbilst”
  • Ja kaut kas cits Novērtējums = “Neveiksme”.

Kods:

Sub Switch_Case1 ()

 Blāvs rādītājs kā vesels skaitlis = 65 Atlasīt gadījuma rezultātu Lieta ir> = 85 MsgBox "Dist" lieta ir> = 60 MsgBox "Pirmā" lieta ir> = 50 MsgBox "Otrā" lieta ir> = 35 MsgBox "Pass" Lieta cita MsgBox " Fail "Beigt Atlasīt Beigu apakšnodaļu

Palaidiet šo kodu. Novērtējumu saņemsim ziņojumu lodziņā.

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.
  • Ja neviena loģiskā pārbaude nav PATIESA, tad jūs vienkārši varat nodot alternatīvo rezultātu CASE ELSE paziņojumā un vienmēr aizvērt paziņojumu ar vārdu “END SELECT”.

Interesanti raksti...