Izvēlieties gadījuma vba aprakstu. Filiāles operators "Izvēlēties lietu"

Atlasiet gadījuma paziņojuma piemēru

Šeit būtu noderīgs piemērs, kas parāda, kāda varētu būt izvēlētās lietas struktūra.

Izvēlieties Case objRol l OfFi l m.Type

Lieta "Slide"

intSlide = intSlide + 1

Lieta "Krāsains negatīvs"

int Krāsains negatīvs = int Krāsains negatīvs + 1

Lieta "BW negatīvs"

intHNegative = intHNegative + 1

MgaBox " Nezināms tips filmas. "

Būtībā šis koda gabals dara to pašu, ko iepriekš minētais piemērs sadaļā Ja paziņojumi. ... .ElseIf (tiek izlaista tikai derīguma termiņa pārbaude). Tomēr kopš tā laika šķiet, ka mūsu hipotētiskais objekts, kas attēlo plēves rullīti, ir nedaudz mainīts - informāciju par filmas krāsu un krāsas maiņu tagad attēlo arī īpašība Tips, nevis atsevišķa krāsu īpašība, kā tas bija iepriekš.

Un ja tas tā ir, tad programmai ir jāstrādā tikai ar vienu vērtību - ar vērtību, ko atgriež īpašums Type. - bet šī vērtība tiek salīdzināta ar vairākām derīgām. Tātad Select Case ir tieši tas, ko ārsts pasūtīja mūsu gadījumā.

Pirmā gadījuma paziņojuma pielietošana šajā piemērā ir līdzvērtīga If objRollOf Film.Type = "Slide" izmantošanai, t.i. ja rekvizīts Objekta tips ir "Slaids", tad programma izpilda nākamo paziņojumu, pretējā gadījumā tas pāriet uz otro gadījuma paziņojumu.

Ņemiet vērā, ka kritērijos nav pazīmju par darbību, kuras klātbūtne no pirmā acu uzmetiena šķiet loģiska. Tas ir tāpēc, ka atlasītie gadījumi kā salīdzināšanas operators vienkārši nozīmē vienlīdzību.

No grāmatas IEVIETOTĀS SISTĒMAS PROGRAMMATŪRA. Vispārīgās prasības izstrādei un dokumentācijai Autors Krievijas Gosstandarts

No grāmatas Dators + mobilais: efektīva mijiedarbība Autors Goltsmanis Viktors Iosifovičs

Sūtīšana no operatora vietnes Šodien, iespējams, jau visi operatori atbalsta sūtot SMS no jūsu vietnes. Tomēr ziņas var nosūtīt tikai abonentiem šis operators, bet ar to parasti pietiek. Tagad mēs apsvērsim

No UNIX grāmatas: Procesa mijiedarbība Autors Stīvens Viljams Ričards

Piemērs: Posix ziņojumu rindas un atlases funkcija Ziņojumu rindas deskriptors (mainīgā tips mqd_t) nav “parasts” deskriptors, un to nevar izmantot kopā ar atlases un aptaujas funkcijām (6. nodaļa). Tomēr tos var izmantot kopā ar kanālu un funkciju mq_notify. (Līdzīgi

No VBA grāmatas manekeniem autors Kamingss Stīvs

No grāmatas Firebird DATU BĀZES DIZAINERA GIDS autors Borri Helēna

Nosacījumu pārbaude atsevišķu gadījumu paziņojumos Izvēlētā gadījuma struktūra skaidri neizmanto visas nosacītās izteiksmes, piemēram, iepriekš aprakstītās (sk. Nosacīto izteiksmju lietošanas kurss). Katrs nosacījums ir jāsadala divās daļās, kas attēlotas kā

No grāmatas Programmēšanas māksla čaulas skriptu valodā autors Kūpers Mendels

No grāmatas C Language - A Beginner's Guide autors Prata Stefans

No grāmatas Linux un UNIX: apvalka programmēšana. Izstrādātāja ceļvedis. autors: Teinslijs Deivids

No grāmatas C ++ iesācējiem autors Lipmans Stenlijs

10.-24. Piemērs. Izmantojot lietu #! / Bin / bashecho; echo "Nospiediet taustiņu, kam seko atgriešanās taustiņš." lasiet taustiņsitni "$ Keypress") echo "mazo burtu" ;; ) atbalss "Lielais burts" ;; ) atbalss "Skaitlis" ;; *) atbalss "Pieturzīmes, atstarpe vai kaut kas cits" ;; esac # Atļauts

No UNIX grāmatas: Tīkla lietojumprogrammu izstrāde Autors Stīvens Viljams Ričards

Piemērs 10-25. Izveidojiet izvēlnes ar lietu #! / Bin / bash # Rupja datu bāzes piemērs skaidrs # Ekrāna atbalss notīrīšana "Saraksts" echo "------" echo "Izvēlieties jūs interesējošo personu:" echoecho "[E] furgoni, Roland "echo" [J] ones, Mildred "echo" [S] mith, Julie "echo" [Z] ane, Morris "echoread personcase" $ person "in # Piezīme: mainīgais ir citēts.

No autora grāmatas

10.-26. Piemērs. Gadījuma paziņojums ļauj izmantot komandu aizstāšanu parsētā mainīgā #! / Bin / bash # Komandu aizstāšana gadījumā "case". Case $ (arch) # komandā "arch" atgriež virkni, kas raksturo aparatūras arhitektūru. I386) echo "Mašīna, kuras pamatā ir 80386 procesors" ;; i486) echo "Mašīna, kuras pamatā ir

No autora grāmatas

Piemērs A-18. Ģenerējiet primimus, izmantojot modulo operatoru (modulo) #! / Bin / bash # primes.sh: ģenerējiet primimus, bez masīviem. # Autors Stephane Chazelas. # Šajā skriptā netiek izmantots klasiskais "Eratosthenes sieta" algoritms, # + no tā

No autora grāmatas

PAZIŅOJUMA PAPLAŠINĀŠANA AR CITU Vienkāršākā forma no apgalvojuma if ir tas, kuru mēs tikko izmantojām: paziņojums (izteiksme) Parasti izteiksme šeit tiek saprasta kā nosacīta izteiksme, ar tās palīdzību tiek salīdzinātas divu lielumu vērtības (piemēram, x> y

No autora grāmatas

18.8.2. Lietas paziņojuma izpildes pārtraukšana Apsveriet šādu piemēru. Skripts palaiž bezgalīgu cilpu, līdz lietotājs ievada skaitli, kas ir lielāks par 5. Lai pārtrauktu ciklu un atgrieztos pie komandrinda tulks izmanto komandu break. $ pg

No autora grāmatas

No autora grāmatas

Vienkāršs atlases funkcijas izmantošanas piemērs Tagad mēs pārrakstīsim mūsu ārpus joslas datu uztvērēja kodu un SIGURG signāla vietā izmantosim atlases funkciju. Sarakstā 24.3 ir redzama saņēmēja programma; Sarakstā 24.3. Uzņēmēja programma, kurā (kļūdaini)

Lielākā daļa svarīgi operatori lietoti termini Excel VBA Ir operatori Ja tad un Izvēlieties Lieta... Abi šie izteicieni pārbauda vienu vai vairākus nosacījumus un atkarībā no rezultāta veic dažādas darbības. Tālāk mēs sīkāk runāsim par šiem diviem nosacītajiem operatoriem.

Visual Basic If ... Tad paziņojums

Operators Ja tad pārbauda stāvokli un, ja tas ir PATIESS, tad tiek veikta noteiktā darbību kopa. Var arī noteikt darbību kopumu, kas jāveic, ja nosacījums ir FALSE.

Operatora sintakse Ja tad kā šis:

Ja Stāvoklis1 Tad
Darbības, ja ir izpildīts 1. nosacījums
Citādi Nosacījums2 Tad
Darbības, ja ir izpildīts 2. nosacījums
Citādi
Rīcība gadījumā, ja netiek izpildīts neviens no nosacījumiem
Beigas Ja

Šajā izteiksmē elementi Citādi un Citādi operatora nosacījumus nevar izmantot, ja tie nav vajadzīgi.

Zemāk ir piemērs, kurā tiek izmantots operators Ja tad aktīvās šūnas aizpildījuma krāsa mainās atkarībā no tajā esošās vērtības:

Ja ActiveCell.Value< 5 Then ActiveCell.Interior.Color = 65280 "Ячейка окрашивается в зелёный цвет ElseIf ActiveCell.Value < 10 Then ActiveCell.Interior.Color = 49407 "Ячейка окрашивается в оранжевый цвет Else ActiveCell.Interior.Color = 255 "Ячейка окрашивается в красный цвет End If

Ņemiet vērā: tiklīdz nosacījums kļūst patiess, nosacījuma paziņojuma izpilde tiek pārtraukta. Tāpēc, ja mainīgā vērtība ActiveCell mazāks par 5, tad pirmais nosacījums kļūst patiess un šūna kļūst zaļa. Pēc tam operatora izpilde Ja tad tiek pārtraukta un citi nosacījumi netiek pārbaudīti.

Visual Basic atlasiet gadījuma paziņojumu

Operators Izvēlieties Lieta līdzīgs operatoram Ja tad jo viņš arī pārbauda nosacījuma patiesumu un atkarībā no rezultāta izvēlas vienu no iespējām.

Operatora sintakse Izvēlieties Lieta kā šis:

Izvēlieties Lieta Izteiksme
Lieta Vērtība1
Darbības, ja izteiksmes rezultāts atbilst vērtībai1
Lieta Vērtība2
Darbības gadījumā, ja izteiksmes rezultāts atbilst vērtībai2

Lieta cita
Darbības gadījumā, ja izteiksmes rezultāts neatbilst nevienai no uzskaitītajām opcijām Vērtības
Beigas Atlasīt

Elements Lieta cita nav obligāta, bet ir ieteicama neparedzētu vērtību apstrādei.

Nākamajā piemērā, izmantojot konstrukciju Izvēlieties Lieta pašreizējās šūnas aizpildījuma krāsa mainās atkarībā no tajā esošās vērtības:

Atlasiet lietu ActiveCell.Value Case Is<= 5 ActiveCell.Interior.Color = 65280 "Ячейка окрашивается в зелёный цвет Case 6, 7, 8, 9 ActiveCell.Interior.Color = 49407 "Ячейка окрашивается в оранжевый цвет Case 10 ActiveCell.Interior.Color = 65535 "Ячейка окрашивается в жёлтый цвет Case 11 To 20 ActiveCell.Interior.Color = 10498160 "Ячейка окрашивается в лиловый цвет Case Else ActiveCell.Interior.Color = 255 "Ячейка окрашивается в красный цвет End Select

Iepriekš minētais piemērs parāda, kā jūs varat iestatīt elementa vērtību dažādos veidos Lieta būvniecībā Izvēlieties Lieta... Šie ir šādi veidi:

Lieta ir<= 5 Tādējādi, izmantojot atslēgvārdu Lieta ir ir iespējams pārbaudīt, vai vērtība atbilst Izteicieni stāvoklis līdzīgs <=5 .
6., 7., 8., 9. lieta Tādā veidā jūs varat pārbaudīt, vai vērtība ir vienāda Izteicieni ar kādu no uzskaitītajām vērtībām. Norādītās vērtības ir atdalītas ar komatiem.
10. gadījums Tas pārbauda, ​​vai vērtība atbilst Izteicieni ar noteiktu vērtību.
11. līdz 20. lieta Tādējādi varat uzrakstīt izteiksmi, lai pārbaudītu, vai vērtība atbilst Izteicieni stāvoklis līdzīgs no 11 līdz 20(ekvivalents nevienlīdzībai “11<=значение<=20”).
Lieta cita Piemēram, izmantojot atslēgvārdu Citādi, darbības tiek norādītas gadījumā, ja vērtība Izteicieni neatbilst nevienai no uzskaitītajām opcijām Lieta.

Tiklīdz tiek atrasts viens no nosacījumiem, tiek veiktas atbilstošās darbības un tiek izieta no struktūras. Izvēlieties Lieta... Tas ir, jebkurā gadījumā tiks izpildīta tikai viena no uzskaitītajām filiālēm Lieta.

Reālās programmās bieži vien ir jāizdara sarežģītāka izvēle procedūrās, izvēloties starp trim vai vairākām nozarēm. Šajā gadījumā jūs varat ievietot operatorus Ja..Tad..Else savā starpā. To sauc par paziņojumu ligzdošanu.

Iepriekš minētā procedūra izmanto vairākus ligzdotus nosacītu lēcienu paziņojumus. Jāsaka, ka šī procedūra darbosies tikai programmā Excel, jo izmanto metodi Application.InputBox (skatiet resursdatora lietojumprogrammas funkcijas). Šī metode neļauj lietotājam ievadīt neko citu kā skaitli, kamēr funkcija darbojas.

Ja lietotājs neieraksta numuru, viņš saņem ziņojumu par to.



Ja lietotājs neko neieraksta, viņš saņem kļūdas ziņojumu.




Ja lietotājs izmanto pogu "Atcelt", viņš saņem ziņojumu "Nav ievadīti dati".


VBA nodrošina operatora saīsināto versiju Ja..Tad..Else kas ir saīsinātais ligzdoto paziņojumu ekvivalents Ja..Tad..Else izmantots sarakstā. Šāda īsa forma ir operators Ja..Tad..ElseIf



Kuru no iespējām izmantot, tas ir jautājums, kuru katrs programmētājs izlemj pats. Tiek uzskatīts, ka otrā iespēja ir kompaktāka, bet pirmā ir ērtāka un saprotamāka.


Varat ligzdot operatorus, lai veiktu atlasi no vairākiem iespējamiem koda atzariem Ja..Tad..Else daudzos līmeņos dziļi, bet sekot līdzi filiāļu progresam kļūst arvien grūtāk.

VBA ir nosacīts filiāles operators, ko izmantot gadījumos, kad ir daudz dažādu koda zaru, no kuriem izvēlēties - Izvēlieties Lieta... Tas darbojas apmēram tādā pašā veidā kā citādi..Ja, bet ir skaidrāks.

Atlases gadījuma atslēgvārdi tiek izmantoti ar daudziem gadījuma paziņojumiem, kur katrs gadījuma paziņojums pārbauda citu nosacījumu un tiek izpildīts tikai viens no lietas atzariem. Nozare Lieta var saturēt vienu, vairākus vai nevienu no VBA paziņojumiem.


Bezierunu lēciena operators

Beznosacījumu lēciena operators, varētu teikt, ir rudiments no agrīnajām programmēšanas valodām, kurā tas praktiski bija vienīgais līdzeklis, lai organizētu koda bloku cikliskas izpildes.

Beznosacījumu lēciena operators vienmēr maina paziņojumu izpildes kārtību procedūrā vai funkcijā. Tas nepārbauda nekādus nosacījumus.


Sintakse:

GoTo līnija


līnija- jebkura derīga etiķete vai rindas numurs tajā pašā procedūrā vai funkcijā, kurā ir GoTo priekšraksts.

Un šodienas ierakstā mēs apspriedīsim par VBA izvēlētās lietas paziņojumu. VBA atlases gadījumu var izmantot sarežģītu Excel ligzdotu If paziņojumu vietā. Tas padara VBA kodu ātrāk izpildāmu un vieglāk saprotamu.

Atlases gadījuma paziņojums (dažās valodās to sauc arī par Pārslēgt lietu) pārbauda mainīgo vai izteiksmi dažādiem gadījumiem (vērtībām). Ja kāds no gadījumiem kļūst patiess, tiek izpildīts tikai šis gadījums, un programma ignorē visus pārējos gadījumus.

Ja atceraties mūsu pēdējā ierakstā, par kuru mēs runājām, “kā jūs varat”.

VBA atlasītā gadījuma paziņojuma sintakse:

Sintakse ir šāda:

Atlasiet lietu stāvokli
Lietas vērtība_1
Izpildāmā koda nosacījums = vērtība_1
Lietas vērtība_2
Izpildāmā koda nosacījums = vērtība_2
Lietas vērtība_3
Izpildāmā koda nosacījums = vērtība_3
Lieta cita
Izpildāms kods Ja visi pārējie gadījumi ir nepatiesi
Beigas Atlasīt

Šeit “Nosacījums” attiecas uz mainīgo vai izteiksmi, kas jāpārbauda un pamatojoties uz kuru tiks izpildīts kāds no koda segmentiem.

“Vērtība_1”, “vērtība_2” un “vērtība_3” ir iespējamie “nosacījuma” rezultāti. Ikreiz, kad kāda no šīm vērtībām atbilst nosacījumam, tiek izpildīts atbilstošais lietu bloks.

“Cits” ir sava veida noklusējuma gadījuma vērtība, kas tiks izpildīta tikai tad, ja visi iepriekš minētie gadījuma paziņojumi kļūs nepatiesi. Cita lieta nav obligāta, taču parasti tiek uzskatīta par labu praksi to izmantot.

Izvēles gadījumu piemēri VBA:

Tagad pāriesim pie dažiem praktiskiem gadījuma paziņojumu piemēriem.

1. piemērs: Atlasiet gadījuma paziņojumu ar izteiksmi.

Tālāk sniegtajā piemērā mēs esam nodrošinājuši nosacījumu (ti, a = b) paziņojumam Izvēlēties lietu. Ja tas ir patiess, tad tiks izpildīts bloks “Lieta patiesa”, un, ja tas ir nepatiess, tad tiks izpildīts bloks “Lieta nepatiesa”.

Sub Select_Case_Example () "Ievadiet vērtību mainīgajiem a = InputBox (" Ievadiet vērtību A: ") b = InputBox (" Ievadiet vērtību B: ")" Izteiksmes novērtēšana Select Case a = b Case True MsgBox "The izteiksme ir TRUE "Case False MsgBox" Izteiksmes ir FALSE "End Select End Sub

Piezīme:Šis kods tiek izmantots vērtību iegūšanai no lietotāja.

2. piemērs: Lieta, lai pārbaudītu teksta virknes

Šajā piemērā mēs salīdzināsim teksta virknes paziņojumos Case. Ja tiek atrasta atbilstība, atbilstošais lietu bloks tiks izpildīts, pretējā gadījumā tiks izpildīts bloks “Lieta”.

Sub Select_Case_Example () "Ievadiet vērtību mainīgajiem fruit_name = InputBox (" Ievadiet augļa nosaukumu: ")" Izteiksmes novērtēšana Select Case fruit_name Case "Apple" MsgBox "Jūs ievadījāt Apple" Case "Mango" MsgBox "Jūs ievadījāt Mango" lietu "Orange" MsgBox "Jūs ievadījāt Orange" Case Else MsgBox "Es nezināju šo augli!" End Select End Sub

3. piemērs: Lietas izklāsts, lai pārbaudītu skaitļus

Zemāk redzamajā piemērā mēs pārbaudīsim, vai lietotāja ievadītais skaitlis ir mazāks vai lielāks par 5.

Sub Select_Case_Example () "Ievadiet vērtību mainīgajiem Num = InputBox (" Ievadiet jebkuru skaitli no 1 līdz 10: ")" Izteiksmes novērtēšana Select Case Num Case Is< 5 MsgBox "Your Number is less than 5" Case Is = 5 MsgBox "Your Number is Equal to 5" Case Is >5 MsgBox "Jūsu numurs ir lielāks par 5" Beigas Atlasiet beigu apakšdaļu

Piezīme: Tu vari izmantot IR atslēgvārdu ar gadījuma paziņojumu, lai salīdzinātu vērtības.

4. piemērs: Atlasiet Lieta, lai pārbaudītu vairākus nosacījumus vienā lietā.

Šajā piemērā mēs lūgsim lietotāju ievadīt jebkuru numuru no 1 līdz 10. Un tad mēs pārbaudīsim, vai skaitlis ir pāra vai nepāra, izmantojot vairākus nosacījumus lietas paziņojumā. Ievērojiet, ka esmu izmantojis “,” (komatu), lai salīdzinātu vairākus nosacījumus vienā gadījumā.

Sub Select_Case_Example () "Ievadiet vērtību mainīgajiem Num = InputBox (" Ievadiet jebkuru skaitli no 1 līdz 10: ")" Izteiksmes novērtēšana Select Case Num Case 2, 4, 6, 8, 10 MsgBox "Jūsu numurs ir pāra." 1., 3., 5., 7., 9. gadījums MsgBox "Jūsu numurs ir nepāra". Lieta Cita MsgBox "Jūsu numurs ir ārpus diapazona." Beigas Izvēlieties Beigt apakš

Piezīme: Es zinu, ka ir vienkāršākas metodes, lai pārbaudītu, vai skaitlis ir pāra vai nepāra, taču esmu izmantojis šo piemēru tikai, lai izskaidrotu, kā vienā gadījuma paziņojumā var pārbaudīt vairākus nosacījumus.

5. piemērs: Lieta, lai pārbaudītu nepārtrauktu diapazonu kā nosacījumu.

Šeit mēs pārbaudīsim nepārtrauktu diapazonu kā nosacījumu. Mēs lūgsim lietotāju ievadīt jebkuru skaitli no 1 līdz 10, ja skaitlis ir no 1 līdz 5 (ieskaitot gan 1, gan 5), tad gadījums no 1 līdz 5 būs “True”, ja lietotāja ievadītais numurs ir no 6 līdz 10 (ieskaitot gan 6, gan 10), tad “Case 6 to 10” būs “True”, ja abas iepriekšējās lietas ir “False”, tad “Case Else” tiks izpildīts.

Sub Select_Case_Example () "Ievadiet vērtību mainīgajiem Num = InputBox (" Ievadiet jebkuru skaitli no 1 līdz 10: ")" Izteiksmes novērtēšana Select Case Num Case 1 to 5 MsgBox "Jūsu numurs no 1 līdz 5" Case 6 to 10 MsgBox "Jūsu numurs no 6 līdz 10" Case Else MsgBox "Jūsu numurs ir ārpus diapazona." Beigas Izvēlieties Beigt apakš

Tātad, tas viss bija par paziņojumu par VBA atlasīto gadījumu. Jūtieties brīvi dalīties savās domās par šo tēmu.

Par ankit kaul

Ankits ir Excel Trick dibinātājs. Viņš ir tehnoloģiju geiks, kuram patīk visu dienu sēdēt savas draudzenes (kvadrātveida) priekšā. : D. Ankitam ir liela aizraušanās mācīties Microsoft Excel. Viņa vienīgais mērķis ir pārvērst jūs par "Excel Geeks".

Veidojot sarežģītas programmas, viens no galvenajiem punktiem ir spēja nodrošināt vairākas iespējas notikumu attīstībai. Vienkāršākais un klasiskākais piemērs ir " Ja ... Tad ... Citādi ... Beigas", kas ļauj izvēlēties vienu no divām darbībām atkarībā no dažu vērtību pārbaudes rezultātiem. Gadās, ka šādas pārbaudes rezultātā jāizvēlas no dažādām iespējām. Viens no risinājumiem: pievienot kopu". .. Citādi... ", kas nedaudz sarežģī programmas sintaksi (lasīšanas ērtums). Tomēr tas ir ļoti spēcīgs operators, kas paver lielas iespējas. Jūs varat uzzināt vairāk par to.

Alternatīva operatoram " Ja ... Beigas"operators kalpo" Izvēlieties Lieta"(no angļu valodas) Izvēlieties Lieta"var tulkot kā" Situācijas izvēle "), kas vienkāršo koda uztveri" ar aci ". Un ja" Ja ... Beigas"operators visos veidos" Citādi"ir spiests atkal un atkal atsaukties uz pārbaudītajām vērtībām (piemēram, izteiksme katru reizi ir vienāda), tad" Izvēlieties Lieta"to dara tikai vienu reizi, kas ļauj pēdējiem ātrāk strādāt pie lielām datu kopām. Šis operators ļauj ērti iestatīt programmas sazarošanos no viena punkta uz liels skaits filiāles. Tas ir, to galvenokārt izmanto vairāku pārbaužu nosacījumiem, ja ir vairāk nekā divi pārbaudīti nosacījumi.

Paziņojuma "Izvēlēties gadījumu" struktūra.

Apskatīsim, kā izskatās operatora vispārinātā struktūra, un noskaidrosim, kura ir ( dažādi piemēri raksta beigās tiks sniegta privāta koda izmantošana):

Izvēlieties Lieta [Pārbaudītā vērtība] Lieta [Īpašā vērtība] [Dažas darbības] Lieta [Cita darbība X] Beigas Atlasīt

Kā gabals [Nozīme] jūs varat ievietot jebkuru mainīgo vai īpašumu, kura vērtību vai kuru varat pārbaudīt. Varat arī pārbaudīt konkrētas šūnas vērtību. Šajā gadījumā jūs varat strādāt ne tikai ar cipariem, bet arī ar tekstiem. Un pat ar Būla vērtībām PATIESA / nepatiesa("Patiesība" un "Meli"), par ko ne visi zina.

[Īpaša nozīme] tas ir tas, ar ko tas tiek salīdzināts [Pārbaudītā vērtība] ... Un, ja viens apmierina otru, tad tas tiek izpildīts [Dažas darbības] ... Blokam ir vairākas ierakstīšanas iespējas [Īpaša nozīme] ... Teksta un skaitliskām vērtībām varat rakstīt dažādas vērtības, atdalot tās ar komatiem.

3., 4., 5. gadījums, "jā", "nē"

Jūs varat izvēlēties skaitļu diapazonus:

Lieta no 3 līdz 10 "No 3 līdz 10, ieskaitot 3 un 10.

Arī skaitļiem varat izmantot loģisko salīdzināšanas operatoru kopā ar daļiņu " Ir":

Lieta ir< 2 "Меньше 2, НЕ включая 2 Case Is = 3 "Равно 3-м. Избыточная запись, достаточно Case 3 Case Is >= 4 "lielāks vai vienāds ar 4 gadījuma gadījumiem<>0 "Nav vienāds ar nulli

Ir atļauts izmantot arī loģiskos operatorus, kas ļaus paredzēt vissarežģītākos gadījumus un veikt paralēlus salīdzinājumus ar citiem mainīgajiem. Papildus operatoram " Vai", Ko aizstāj parasts komats.

Lieta ... Un ... Lieta nav ...

[Dažas darbības] var būt pilnīgi jebkas. Ja to izlaidīsit, tad šajā gadījumā programma būs neaktīva. " Lieta [Īpaša nozīme] »Kopā ar daļu [Dažas darbības] pievienojiet līdz vienam blokam:

Lieta [konkrēta nozīme] [kāda darbība]

Šādu bloku var būt neierobežots skaits, kas atbilst procedūras maksimālajam izmēram (tā svars nedrīkst pārsniegt 64 kilobaitus). Ir labi zināt, ka VBA meklē atbilstību [Īpaša vērtība] un [Pārbaudītā vērtība] gar blokiem no augšas uz leju. Tas ir, jums var būt divi bloki ar vienādu " Lieta", bet tiks izpildīts tikai tas, kuru programma atrada agrāk, skatot kodu no augšas uz leju.

Lieta cita- tie ir visi citi gadījumi, kas nevienam citam nederēja [Īpaša nozīme] visos operatoru blokos " Izvēlieties Lieta". Ja bloķēt" Lieta cita"trūkst un neviens cits bloks neiznāca, tad programma dara loģisku" neko ". Lieta cita vajadzētu būt pēdējam pārbaudītajam gadījumam starp visiem paziņojuma pārbaudes blokiem. Pēc tam nedrīkst būt citu bloku, pretējā gadījumā mēs saņemsim sintakses kļūdu " Lieta bez izvēles gadījuma".

Operatora beigās jābūt " Beigas Atlasīt", kas kalpo kā" punkts "operatora" teikumā ".

Lietošanas piemēri.

Apskatīsim dažus koda izmantošanas piemērus un sāksim ar vienkāršāko. Pirmajā piemērā tiek parādīts ziņojums atkarībā no X vērtības.

Sub SelectCase_example_1 () Dim X As Long X = 1 "Jūs varat mainīt šo skaitli un redzēt, kas notiek. Atlasiet X gadījums 1. gadījums MsgBox" Viens "2. gadījums MsgBox" Divi "3. gadījums MsgBox" Trīs "gadījums Cits gadījums MsgBox" Kaut kas ir atlasīts pēc tam otru "Beigas Atlasiet Beigu apakš

Otrs piemērs parāda kaut kādu pārbaudītās vērtības ierakstu. Atkarībā no makrogrāmatas lapu skaita tiek parādīts cits ziņojums. Lūdzu, ņemiet vērā: ja grāmatā ir 7 lapas, tad “ 7. gadījums", Lai gan nosacījums" 5. līdz 12. gadījums”Der arī, bet stāv vēlāk.

Sub SelectCase_example_2 () "Ievadīsim mainīgo un saskaitīsim pašreizējās grāmatas lapu skaitu: Dim X As Long X = ThisWorkbook.Sheets.Count Select Case X" Atkarībā no grāmatu lapu skaita mēs parādīsim ziņojumu . 1. gadījums "Ja 1 lapa, tad ... MsgBox" Viena lapa grāmatā "2., 3., 4. gadījums" Ja ir 2 vai 3 vai 4 lapas MsgBox "Vairākas lapas grāmatā" 7. lieta "Ja ir 7 lapas lapas MsgBox "Jauks lapu skaits" 5. līdz 12. gadījums "Ja loksnes ir no 5 līdz 12 MsgBox" Gandrīz brošūra "Lieta ir> = 14" Ja loksnes ir lielākas vai vienādas ar 14 MsgBox "Loksnes kā folijā" Lieta "Citi gadījumi" Visi pārējie gadījumi, proti, 13 MsgBox "Sasodīts ducis lapu" Beigas Atlasiet Beigu apakš

Trešais piemērs uz Būla orientētu PATIESA vai FALSE... Pārbauda, ​​vai pašreizējās makro darbgrāmatas pēdējā lapa ir redzama vai paslēpta. Kolu var izmantot, lai aizstātu rindu pārtraukumus tīrāka koda iegūšanai.

Sub SelectCase_example_3 () "Ievadīsim mainīgo un piesaistīsim to grāmatas pēdējai lapai: Dim shtX kā darblapa: Set shtX = ThisWorkbook.Sheets (ThisWorkbook.Sheets.Count) Atlasiet Case shtX.Visible" Pārbaudiet, vai lapa nav paslēpta vai nav gadījuma patiesība: MsgBox "Grāmatas pēdējā lapa ir pieejama" "Ja ir redzama pēdējā lapa Gadījums Nepareizi: MsgBox" Pēdējā lapas lapa ir paslēpta "" Ja pēdējā lapa ir paslēpta Beigas Atlasiet Beigu apakšdaļa

Ceturtais piemērs rāda, ka " Lieta»Var ņemt vērā arī citus mainīgos. V Šis gadījums mēs pārbaudīsim trīs mainīgo vienādību, izmantojot loģiskais operators « Un»:

Sub SelectCase_example_4 () "Ieviesīsim vairākus mainīgos: Dim X%, Y%, Z%" Pielīdzināsim ikvienu trīskāršam: X = 3: Y = 3: Z = 3 Atlasīt gadījuma patiesību "Pārbaudīsim visu mainīgo vienādību Lieta Z = X Un Y = X: MsgBox "Visi ir vienādi" "Ja visi ir vienādi Lieta Citādi: MsgBox" Kāds ir atšķirīgs "" Ja vismaz kāds ir citāds Beigas Atlasiet Beigu apakšdaļu

Piektais piemērs parāda, kā atdalīta ar komatu atzīmētajā vērtībā "" Lieta»Varat norādīt veselu skaitļu kopu. Pieņemsim, ka ir kāda funkcija, un mēs pārbaudām, vai mūsu numuru var izmantot šajā funkcijā. Pēc vienošanās mēs esam apmierināti ar skaitļiem diapazonā no 5 (neieskaitot 5) līdz mīnus bezgalībai, no 12 līdz 15, ieskaitot galus, un no 20 (ieskaitot 20) līdz plus bezgalībai.

Sub SelectCase_example_5 () "Ievadīsim mainīgo un piešķirsim vērtību manuāli Dim X As Double X = InputBox (" Ievadiet mainīgā X skaitlisko vērtību ") Atlasiet gadījumu X" Pārbaudīsim, vai mūsu gadījuma vērtība ir piemērota kādam iedomātam funkciju< 5, Is >= 20, 12 līdz 15 "Derīgo vērtību diapazons MsgBox" Derīga vērtība kādai funkcijai "Gadījums citādi" Nederīgas vērtības MsgBox "Vērtību nevar izmantot kādā funkcijā" Beigas Atlasiet beigu apakšdaļu

Apkopojot rindu, es atzīmēju, ka operators “ Izvēlieties Lieta"Struktūra ir diezgan vienkārša un viegli lietojama. Tas ir mazāk elastīgs nekā " Ja… Beigas», Ja pārbaužu laikā ir jāmaina pārbaudītā vērtība, bet tā ievērojami uzvar, ja tiek veiktas dažādas vienas un tās pašas izteiksmes pārbaudes. Par to, kas tas faktiski tika izveidots.

Paldies par uzmanību.

Rakstu ar piemēriem apkopoja Romāns "Rioran" Kraukļi www.site