Excel VBA lietas izklāsts
VBA lietas izklāsts ir viena no loģiskajām funkcijām. Lietas izklāsts pārbauda vairākus loģiskus testus un rezultātu iegūst divos veidos, ti, ja rezultāts vai loģiskais tests ir PATIESA, viena rezultātu kopa un ja rezultāts vai loģiskais tests ir FALSE, tad otrais rezultātu kopums.

Loģiskos testus parasti veic, izmantojot IF formulas, vai tā būtu darblapas formula, vai VBA kodējumā; abās platformās šī funkcija mums palīdz veikt daudzu veidu sarežģītus aprēķinus. Ne daudzi no mums saprot, ka mums ir alternatīva IF paziņojumam VBA, ti, “Lietas izklāsts”. Šajā rakstā ir sniegta pilnīga informācija par šo loģisko paziņojumu.
Sintakse
Zemāk ir teikuma “Atlasīt lietu” sintakse.
Atlasiet gadījumu “Pārbaudāmā vērtība”. Gadījums ir “Loģiskā pārbaude”, ja 1. gadījums ir PATIESA. Gadījums, ja 2. gadījums ir PATIESA, ir gadījums, kad PATIESA. rezultāti ir TRUE End Select
Tas ir gandrīz līdzīgs IF paziņojuma sintaksei, taču tā vietā, lai izmantotu ELSEIF, mēs izmantojam 1. gadījumu, 2. gadījumu, 3. gadījumu utt.
VBA lietas izklāsta piemēri
1. piemērs
Šūnā A1 es ievadīju numuru 240.

Tagad mēs pārbaudīsim šo skaitli, neatkarīgi no tā, vai tas ir lielāks par 200, izmantojot SELECT CASE paziņojumu .
1. darbība: tūlīt atveriet paziņojumu Atlasīt gadījumu.
Kods:
Sub Select_Case_Example1 () Atlasiet Case End Sub

2. solis: Kad ir atvērts “Atlasīt lietu”, mums jānorāda vērtība, kuru mēs pārbaudām. Šajā gadījumā mēs pārbaudām šūnas A1 vērtības.
Kods:
Sub Select_Case_Example1 () Atlasiet lietu diapazonu ("A1"). Vērtība Beigas Sub

3. solis: Kad pārbaudāmā vērtība ir dota tagad, mums Excel jāpielieto loģiskie testi, izmantojot vārdu “ Lieta ir ”.
Kods:
Sub Select_Case_Example1 () Atlasiet lietu diapazonu ("A1"). Vērtības gadījums ir> 200 End Sub

4. solis: Tagad nākamajā rindā mums jānorāda vērtība “rezultāts”, ja lietotais loģiskais tests ir PATIESA. Ziņojuma lodziņā mums ir nepieciešams rezultāts kā “Skaitlis ir> 200”.
Kods:
Sub Select_Case_Example1 () Atlasiet lietu diapazonu ("A1"). Vērtības gadījums ir> 200 MsgBox "Skaitlis ir> 200" End Sub

5. solis: Šajā piemērā mums ir nepieciešami tikai divi rezultāti, tāpēc es neizmantošu vairāk “Case Is” paziņojumu. Pēc tam es lietošu vārdu “Case Else”, lai aizvērtu VBA paziņojumu “Select Case”.
Kods:
Apakšnoteikuma_lietas_piemērs1 () Atlasiet lietu diapazonu ("A1"). Vērtības lielums ir> 200 MsgBox ".

6. solis: Kad visi gadījumi ir piegādāti, mums ir jāaizver atlasītā gadījuma paziņojums, izmantojot vārdu “Atlasīt beigas”.
Kods:
Sub Select_Case_Example1 () Atlasiet lietu diapazonu ("A1"). Vērtības gadījums ir> 200 MsgBox "Skaitlis ir> 200" Case cits MsgBox "numurs ir <200" End Select End Sub

7. solis: Tagad palaidiet kodu un skatiet, kāds ir rezultāts VBA ziņojumu lodziņā.

Rezultāts, ko mēs saņēmām, ir “Skaitlis ir> 200”, jo šūnā A1 vērtība ir 240, kas ir> 200.
2. piemērs
Tagad mēs redzēsim dažus reāllaika praktiskus rezultātu pārbaudes piemērus. Apskatiet zemāk redzamo VBA kodu.
Kods:
Sub Select_Case_Example2 () Dim ScoreCard kā vesels skaitlis ScoreCard = Application.InputBox ("Rezultātam jābūt b / w 0 līdz 100", "Kāds ir rezultāts, kuru vēlaties pārbaudīt") Atlasīt gadījumu ScoreCard lieta ir> = 85 MsgBox "Atšķirība" Lieta Vai> = 60 MsgBox "pirmās klases" gadījums ir> = 50 MsgBox "otrās klases" gadījums ir> = 35 MsgBox "Pass" gadījums ir cits MsgBox "fail" neizdodas

Ļaujiet man izskaidrot kodu pa rindām, lai labāk saprastu.
Pirmkārt, esmu pasludinājis mainīgo kā veselu skaitli, un šim mainīgajam esmu piešķīris InputBox VBA, kur lietotājam ir jāievada rezultāts starp 0 un 100.
Palaidot kodu, jūs redzēsiet ievades lodziņu kā zemāk, un šajā ievades lodziņā jums jāievada rezultāts.

Tagad viss, ko ievadīsim ievades lodziņā, tiks saglabāts mainīgajā “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
- Atlasīt gadījumu ir alternatīva IF paziņojumam.
- Select Case ir pieejama tikai ar VBA.
- “Atlasīt lietu” pirmajā rindiņā mums jānorāda tikai pārbaudāmā vērtība. Tad rindā “Lieta” mums jāpielieto loģiskais tests. Tas ir atšķirībā no mūsu IF nosacījuma.