VBA juhtumi kirjeldus - Näited VBA juhtumi väljavõttest

Lang L: none (table-of-contents)

Exceli VBA juhtumikiri

VBA juhtumikirjeldus on üks loogilistest funktsioonidest. Juhtumi avaldus testib mitut loogilist testi ja saab tulemuse kahel viisil, st kui tulemus või loogiline test on ühe tulemuse komplektiga tõsi ja kui tulemus või loogiline test on VALE, siis teine ​​tulemuste komplekt.

Loogilised testid viiakse tavaliselt läbi IF-valemite abil, olgu see siis töölehe valem või VBA-kodeering; mõlemal platvormil aitab see funktsioon meil läbi viia mitmesuguseid keerukaid arvutusi. Mitte paljud meist ei mõista, et meil on VBA-s IF-i avaldusele alternatiiv, st „juhtumi avaldus”. Selles artiklis antakse selle loogilise avalduse kohta üksikasjalik teave.

Süntaks

Allpool on lause „Vali juhtum” süntaks.

Valige juhtum „Testitava väärtuse“ juhtum on „Loogilise testi“ tulemus, kui juhtum 1 on tõene. Juhtum on „loogiline test“. Kui juhtum 2. on tõene. Juhtum on tõene. tulemused on TRUE End Select

See sarnaneb peaaegu IF-lause süntaksiga, kuid ELSEIF-i kasutamise asemel kasutame juhtumeid 1, 2, 3 ja nii edasi.

Näited VBA juhtumi avaldusest

Näide 1

Lahtrisse A1 olen sisestanud numbri 240.

Nüüd katsetame lauset SELECT CASE kasutades seda arvu, kas see on suurem kui 200 või mitte .

1. samm: avage nüüd Vali juhtum.

Kood:

Sub Select_Case_Eample1 () Valige Case End Sub

2. samm: kui „Vali juhtum“ on avatud, peame esitama testitava väärtuse. Sel juhul testime lahtri A1 väärtusi.

Kood:

Alamvalik_Kohtu_näide1 () Valige juhtumivahemik ("A1"). Väärtus Lõpp Alam

3. samm: kui testitav väärtus on nüüd antud, peame rakendama Excelis loogilisi teste, kasutades sõna „ Case Is ”.

Kood:

Alamvalik_Kohtu_näide1 () Valige juhtumivahemik ("A1"). Väärtusjuhtum on> 200 Lõpp-alam

4. samm: nüüd, kui rakendatud loogiline test on TÕSI, peame järgmisel real sisestama väärtuse „tulemus”. Sõnumikastis vajame tulemust, kuna “Arv on> 200”.

Kood:

Alamvali_Kohtu_näide1 () Valige juhtumivahemik ("A1"). Väärtuse juhtum on> 200 MsgBox "Arv on> 200" Lõpp alam

5. samm: selles näites vajame ainult kahte tulemust, nii et ma ei kasuta rohkem „Case Is“ -lauset. Järgmisena kasutan VBA avalduse „Vali juhtum” sulgemiseks sõna „Juhtum muu”.

Kood:

Alamvali_Kohtu_näide1 () Valige juhtumivahemik ("A1"). Väärtuse juhtum on> 200 MsgBox "Arv on> 200" Juhtumi muu MsgBox "number on <200" Lõpp alam

6. samm: kui kõik juhtumid on esitatud, peame valitud juhtumi avalduse sulgema, kasutades sõna „End Select”.

Kood:

Alamvali_Kohtu_näide1 () Valige juhtumivahemik ("A1"). Väärtuse juhtum on> 200 MsgBox "Arv on> 200" Juhtumi muu MsgBox "arv on <200" Lõpp Vali Lõpp alam

7. samm: käivitage nüüd kood ja vaadake, milline tulemus on VBA teatekastis.

Saime tulemuseks “Arv on> 200”, kuna lahtris A1 on väärtus 240, mis on> 200.

Näide 2

Nüüd näeme mõningaid reaalajas näiteid skooride testimisest. Vaadake allpool olevat VBA-koodi.

Kood:

Sub Select_Case_Example2 () Dim ScoreCard Integer ScoreCard = Application.InputBox ("Score should be b / w 0 to 100", "What is the score you want to test") Valige Case ScoreCard Case on> = 85 MsgBox "Distinction" Case Kas> = 60 MsgBoxi "esimese klassi" juhtum on> = 50 MsgBox "teise klassi" juhtum on> = 35 MsgBoxi "passi" juhtum on muu MsgBoxi "ebaõnnestunud" lõpp Valige lõpu alamosa

Parema mõistmise huvides lubage mul kood rea kaupa selgitada.

Esiteks olen deklareerinud muutuja Integer ja selle muutuja jaoks olen määranud VBA-sse InputBoxi, kus kasutaja peab sisestama skoori vahemikus 0 kuni 100.

Koodi käivitamisel näete sisendkasti nagu allpool ja selles sisestuskastis peate sisestama punktisumma.

Nüüd salvestatakse kõik, mida sisendkasti sisestame, muutujasse "ScoreCard".

In the next line, I have applied a select case statement to test this score.

First, it will test the ScoreCard>=85 or not. If this is TRUE, then we will get the value in the message box as “Distinction.”

Select Case ScoreCard Case Is>= 85 MsgBox "Distinction"

Similarly, in the following lines, I have applied the second test as ScoreCard>=60. If this is TRUE, then it will show the result as “First.”

Case Is>= 60 MsgBox "First Class"

Like this, I have applied other tests as well, and in the end, I have used the “Case Else” statement. If all the applied logical tests are FALSE, then we will get the result as “Fail.”

Case Else MsgBox "Fail"

Now I have supplied 68 as the score, and we should get the result as “First Class” in the message box.

Example #3 - Using the “To” keyword

In the above example, we have used student scores to arrive at the result. The same test can be conducted by using the “To” word to determine the lower limit and upper limit of the logical test.

Code:

Sub Select_Case_Example3() Dim ScoreCard As Integer ScoreCard = Application.InputBox("Score should be b/w 0 to 100", "What is the score you want to test") Select Case ScoreCard Case 85 To 100 MsgBox "Distinction" Case 60 To 84 MsgBox "First Class" Case 50 To 59 MsgBox "Second Class" Case 35 To 49 MsgBox "Pass" Case Else MsgBox "Fail" End Select End Sub

I have used the same code as above, but the only yellow-colored area I have changed here. Based on the number we type in the input box accordingly, we will get the result.

Things to Remember

  • Valige juhtum on IF-lause alternatiiv.
  • Valige juhtum on saadaval ainult koos VBA-ga.
  • „Valige juhtum” esimesele reale peame sisestama ainult katsetamiseks vajaliku väärtuse. Siis peame real „Juhtum“ rakendama loogilise testi. See on erinevalt meie IF tingimustest.

Huvitavad Artiklid...