Si të konfiguroni telefonat inteligjentë dhe PC. Portali informativ

Operatorët e degës VBA: Zgjedhje të vështira. Kërcim pa kushte

GJUHË E PROGRAMIMIT VISUAL BASIC. DEGËT E PROGRAMIMIT

Degëzimi në Visual Basic organizohet duke përdorur:

  • deklaratë e kushtëzuar IF;
  • funksion i integruar IIF;
  • Operatori i përzgjedhjes CASE.

Për të testuar një kusht dhe për të ekzekutuar një deklaratë ose bllok deklaratash, përdorni pohimi i kushtëzuar NËSE...THEN. Ky operator mund të përdoret me sintaksa të ndryshme: me një linjë (lineare) dhe me shumë rreshta (bllok).

Operatori linear ka sintaksën e mëposhtme:

Nëse<условие>Pastaj<операторы!>

Operatori i bllokut ka sintaksën e mëposhtme:

Nëse<условие>Pastaj
<блок операторов 1>
Fundi Nëse

Nëse kushti i dhënë është True, ekzekutohet blloku i deklaratave, përndryshe ekzekutohet deklarata block2. Nëse klauzola Tjetër nuk është e specifikuar, nëseKur plotësohet kushti, kontrolli i transferohet menjëherë operatorit tjetër pas If.

Deklarata If mund të jetë e mbivendosur, domethënë, e vendosur brenda blloqeve të deklaratave. Për të testuar më shumë se një kusht dhe për të ekzekutuar një nga disa blloqe deklaratash, përdorni një deklaratë të kushtëzuar të zgjeruar të formës:

Nëse<условие 1>Pastaj
<блок операторов 1>
Ndryshe<условие 2>Pastaj
<блок операторов 2>
Ndryshe<условие n>Pastaj
<блок операторов n>
Fundi Nëse

Për të zgjedhur një nga vlerat në varësi të kënaqësisë ose dështimit të disa kushteve, përdorni funksionin e kushtëzuar IIF, i cili ka sintaksën e mëposhtme:

IIF(<условие>, <значение1>, <значение2>)

Ky funksion kthen vlerën 1 nëse kushti është i vërtetë dhe vlerën 2 nëse kushti është false.

Ju mund të përdorni një shprehje Boolean si një kusht që kthen True ose

E gabuar, ose çdo shprehje aritmetike (një vlerë zero është ekuivalente me False, dhe një vlerë jozero është e barabartë me E vërtetë).

ZGJIDH deklaratën e rastit përdoret për të testuar një kusht të vetëm dhe për të ekzekutuar një nga disa blloqe deklaratash.

Formati i regjistrimit të operatorit:

Zgjidhni Rastin<проверяемое выражение>
Rast<список выражений 1>
<операторы 1>Rast<список выражений 2>
<операторы 2>Rast<список выражений 3>
<операторы 3>
Rasti tjetër
<операторы группы Else>
Fund Zgjidh

Shprehja që testohet vlerësohet në fillim të deklaratës Select Case. Kjo shprehje mund të kthejë një vlerë të çdo lloji (boolean, numerike, string).

Një listë shprehjesh është një ose më shumë shprehje të ndara nga një karakter ndarës standard (pikëpresje).

Kur operatori ekzekutohet, kontrollohet nëse të paktën një nga elementët e kësaj liste përputhet me shprehjen që testohet.

Ushqimi në listën e shprehjeve mund të marrë një nga format e mëposhtme:

  • <выражение>- kontrollon koincidencën e një shprehjeje të dhënë me një nga shprehjet - elemente list;
  • <выражение 1>Se<выражение 2>- kontrollon nëse një shprehje e dhënë bie brenda intervalit të caktuar;
  • < Is <логический оператор> < выражение>- kontrollon plotësimin e kushtit të caktuar për një shprehje të caktuar.

VBA ka një operator kërcimi të kushtëzuar për përdorim në rastet kur ju duhet të zgjidhni nga një numër i madh i degëve të ndryshme të kodit: operator ZgjidhniRast(është shumë i përshtatshëm për të zbatuar një strukturë me zgjedhje të shumëfishta) Ajo funksionon në të njëjtën mënyrë si deklarata të shumta të pavarura Nëse, por është më e kuptueshme për atë që shkruan kodin dhe atë që lexon këtë kod. Ky operator është më efikas se operatori NësePastajNdryshe.

Fjalë kyçe ZgjidhniRast përdoret me shumë operatorë Rast,ku secili operator Rast kontrollon ndodhjen e një gjendjeje tjetër dhe ekzekutohet vetëm njëra nga degët Rast.Dega Rast mund të përmbajë një, më shumë ose asnjë deklaratë VBA.

Zgjidhni Rastin– një deklaratë kontrolli që ekzekuton një nga disa blloqe deklaratash në varësi të vlerës së shprehjes.

ZgjidhniRast përzgjedhje_shprehje

[ Rast Lista_shprehje_1

[Operatori_Blloku_1]

[Rast Lista_2 e shprehjes]

[Operatori_blloku_2]]

……………………………………………………………………………

[Rasti Else

[Operatori_Blloku_N]]

EndSzgjedhin

– Përzgjedhja_shprehje – çdo shprehje numerike ose simbolike;

– Lista_Shprehje – secila listë është një listë e shprehjeve logjike të ndara me presje; kanë të njëjtin lloj si zgjedhja_shprehja;

– Deklarata_blloku – përmban çdo numër deklaratash VBA.

Gjatë ekzekutimit të deklaratës ZgjidhniRast VBA së pari vlerëson Selection_Expression, dhe më pas krahason rezultatin e asaj shprehjeje me secilën shprehje të listuar në secilën Listë_Shprehje . Nëse vlera e përfaqësuar nga Selection_Expression përputhet me shprehjen në Expression_List për një nga Rast,VBA ekzekuton StatementBlock për këtë deklaratë Rast.Nëse vlera e Selection_Expression përputhet me më shumë se një operator Rast,VBA ekzekuton vetëm deklarata Ne fillim fjali përputhëse Rast.Shpesh një zgjedhje_shprehje është thjesht emri i një ndryshoreje të vetme, matematikore ose numerike, sesa një shprehje logjike. Shprehjet në Expression_List - Këto janë zakonisht shprehje logjike.

Pasi deklaratat në deklaratën e parë të përputhjes të kenë përfunduar ekzekutimin Rast VBA vazhdon të ekzekutojë kodin nga deklarata e parë pas fjalë kyçe fundZgjidhni, të cilat tregojnë fundin ZgjidhniRast.

Nëse vlera e Selection_Expression nuk përputhet me asnjë nga Rast, dhe opsionale RastNdrysheështë e pranishme, VBA ekzekuton deklaratat e përfaqësuara nga Statement_Block_N përpara se të kaloni te operatori pas ZgjidhniRast. Blloku i operatorit Rasti Else ekzekutohet vetëm nëse Selection_Expression nuk plotëson asnjë nga kushtet Rast. Zakonisht përdoret për të trajtuar vlerat e padëshiruara. Veprimi i operatorit ZgjidhniRast ilustruar nga bllok diagrami i paraqitur në Fig. 5.

Fig 5. Bllok diagrami i dizajnit ZgjidhniRast

Elementet e Listës së Shprehjeve duhet të kenë një nga tre format e mëposhtme:

Shprehja_1, Shprehja_2, …, Shprehja_N

Shprehje To Shprehje

Is Shprehje me veprim

– Shprehje_ – çdo shprehje numerike, simbolike ose logjike e të njëjtit lloj si shprehja e përzgjedhjes;

– Shprehje me veprim – një shprehje që përmban ndonjë nga veprimet e mëposhtme:<, <=, >, >=, < >, =.

Nëse përdoret fjala kyçe Se për të përcaktuar kufijtë e një shprehjeje, vlera më e vogël duhet të vijë së pari. Për shembull, deklaratat e bllokut Rasti -1 deri në -5 nuk ekzekutohen nëse Selection_Expression është -4. Ky rresht duhet të shkruhet si Rasti -5 deri në -1.

Operacionet e krahasimit mund të përdoren vetëm me një fjalë kyçe Është, me përjashtim të operacionit të barazisë. Nëse nuk ka çelës Është redaktori inteligjent do ta fusë atë në vendin e duhur.

Ju mund të përdorni shprehje ose kufizime të shumta në çdo kusht Rast. Për shembull, Rasti 1 deri në 4, 7 në 9, 11, 13, është > n %.

Shembulli 4. Një program që llogarit një zbritje në varësi të shumës së blerjes.

Nën skidka ()

“Përkufizimi i zbritjes (në%) në varësi të

“sasia e mallit të shitur

Dim skidka Si numër i plotë

Dim përmbledhje Si Beqar

përmbledhje = Kutia hyrëse("Fut shumën e blerjes", "Llogaritja e zbritjes", 0)

Nëse shuma > 0 Pastaj

Zgjidhni Rastin përmbledhje

Rasti është > 1000

Rasti është > 500

Rasti tjetër

Fund Zgjidh

MsgBox"Zbritje" & skidka & "%"

MsgBox"Shuma e blerjes nuk është specifikuar"

Zgjidhni Shembullin e deklaratës së rastit

Sigurisht që do të ndihmonte të kishim një shembull për të treguar se si mund të duket në të vërtetë një strukturë Select Case.

Zgjidhni Case objRol l OffFi l m.Type

Rasti "Rrëshqitje"

intSlide = intSlide + 1

Rasti "Ngjyra negative"

intColoredNegative = intColoredNegative + 1

Rasti "BW negativ"

intBWnegative = intBWnegative + 1

MgaBox "Lloji i panjohur i filmit."

Ky copë kodi në thelb bën të njëjtën gjë si shembulli i kodit të mësipërm nga seksioni i deklaratave If. . .ElseIf (vetëm kontrolli i skadencës është lënë jashtë). Megjithatë, që atëherë, objekti ynë hipotetik që përfaqëson një rrotull filmi duket se është modifikuar paksa - informacioni për ngjyrën dhe pa ngjyrën e filmit tani përfaqësohet gjithashtu nga vetia Ture, dhe jo një veti e veçantë Color, si më parë.

Dhe nëse është kështu, atëherë programi duhet të punojë vetëm me një vlerë - vlerën e kthyer nga vetia Type. - por kjo vlerë krahasohet me disa nga ato të vlefshmet. Pra, Select Case është pikërisht ajo që urdhëroi mjeku për rastin tonë.

Përdorimi i parë i operatorit Case në këtë shembull është i barabartë me përdorimin e If objRollOf Film.Type = "Slide" Pastaj, d.m.th. nëse vetia Type e objektit është "Slide", atëherë programi ekzekuton deklaratën tjetër, përndryshe kalon në deklaratën e dytë Case.

Ju lutemi vini re se shenja e funksionimit, prania e së cilës duket logjike në shikim të parë, nuk përfshihet në kritere. Arsyeja është se deklaratat Select Case thjesht supozojnë barazinë si një operator krahasimi.

Nga libri SOFTWARE EMBEDDED SYSTEMS. Kërkesat e përgjithshme për zhvillim dhe dokumentacion autor Gosstandart i Rusisë

Nga libri Kompjuter + Celular: Ndërveprim efektiv autor Goltsman Viktor Iosifovich

Dërgimi nga faqja e internetit e operatorit Sot, me siguri, të gjithë operatorët tashmë mbështesin dërgimin e SMS nga faqja e tyre e internetit. Mesazhet, megjithatë, mund t'u dërgohen vetëm abonentëve të një operatori të caktuar, por kjo, si rregull, mjafton. Pra, vazhdo në praktikë. Tani do të shikojmë

Nga libri UNIX: Process Communication autor Stevens William Richard

Shembull: Radhët e mesazheve Posix dhe funksioni i përzgjedhjes Trajtimi i radhës së mesazheve (një variabël i tipit mqd_t) nuk është një dorezë "normale" dhe nuk mund të përdoret me funksionet e përzgjedhjes dhe sondazhit (Kapitulli 6). Megjithatë, ato mund të përdoren në lidhje me kanalin dhe funksionin mq_notify. (I ngjashëm

Nga libri VBA për Dummies nga Steve Cummings

Nga libri Firebird UDHËZUES PËR ZHVILLIMIN E BAZAVE TË TË DHËNAVE nga Borri Helen

Kushtet e testimit në deklaratat e rasteve të zgjedhura Struktura Select Case nuk përdor shprehimisht shprehje të plota të kushtëzuara si ato të diskutuara më sipër (shih seksionin "Një kurs në përdorimin e shprehjeve me kusht"). Ju duhet të ndani çdo kusht në dy pjesë, të përfaqësuara si

Nga libri The Art of Shell Scripting Programming Language nga Cooper Mendel

Nga libri Gjuha C - Një udhëzues për fillestarët nga Prata Steven

Nga libri Linux dhe UNIX: programimi i guaskës. Udhëzuesi i Zhvilluesit. nga Tainsley David

Nga libri C++ për fillestarët nga Lippman Stanley

Shembulli 10-24. Përdorimi i rastit #!/bin/bashecho; echo "Shtypni një buton dhe më pas tastin Kthimi." lexoni "$Keypress" në "$Keypress" në ) echo "shkronjë të vogël";; ) jehona "Shkronja e madhe";; ) jehona "Numri";; *) echo "Shenja e pikësimit, hapësira ose diçka tjetër";;esac # Pointer lejohet

Nga libri UNIX: Network Application Development autor Stevens William Richard

Shembulli 10-25. Krijimi i një menuje duke përdorur rastin #!/bin/bash# Shembull i përafërt i një baze të dhënash pastrohet # Pastrimi i ekranit " Lista"echo " ------"echo "Zgjidhni personin që ju intereson:"echoecho "[E] furgona, Roland"echo " [J]ones, Mildred"echo "[S]mith, Julie"echo "[Z]ane, Morris"echoreadcase "$person" në# Ju lutemi vini re: ndryshorja është në thonjëza.

Nga libri i autorit

Shembulli 10-26. Deklarata case lejon që zëvendësimi i komandës të përdoret në vend të ndryshores së analizuar #!/bin/bash# Zëvendësimi i komandës në "case".case $(arch) në # komanda "arch" kthen një varg që përshkruan arkitekturën e harduerit.i386) echo "80386 me bazë makinë ";;i486) echo "Makina e bazuar në

Nga libri i autorit

Shembull A-18. Gjenerimi i numrave të thjeshtë duke përdorur operatorin e modulit (modulo) #!/bin/bash# primes.sh: Gjenerimi i numrave të thjeshtë pa përdorur vargje.# Autori: Stephane Chazelas.# Ky skenar nuk përdor algoritmin klasik "Sieve of Eratosthenes" ", #+ në vend

Nga libri i autorit

ZGJERIMI I OPERATORIT IF duke përdorur else Forma më e thjeshtë e operatorit if është ajo që sapo kemi përdorur: deklarata if(shprehje) Në mënyrë tipike, një shprehje këtu kuptohet si një shprehje e kushtëzuar që krahason vlerat e dy sasive (për shembull, x > y

Nga libri i autorit

18.8.2. Përfundimi i ekzekutimit të një deklarate rasti Merrni shembullin e mëposhtëm. Skripti ekzekuton një lak të pafund derisa përdoruesi të fusë një numër më të madh se 5. Për të thyer ciklin dhe për t'u kthyer në vijën e komandës së interpretuesit, përdorni komandën break.$ pg

Nga libri i autorit

Nga libri i autorit

Një shembull i thjeshtë i përdorimit të funksionit zgjidhni Tani do të ripunojmë kodin tonë të marrësit jashtë brezit dhe do të përdorim funksionin e përzgjedhjes në vend të sinjalit SIGURG. Lista 24.3 tregon programin marrës. Listimi 24.3. Programi marrës, në të cilin (gabimisht)

Strukturat e kontrollit ju lejojnë të kontrolloni sekuencën e ekzekutimit të një programi. Pa deklaratat e kontrollit, të gjitha deklaratat e programit do të ekzekutohen nga e majta në të djathtë dhe nga lart poshtë. Megjithatë, ndonjëherë ju dëshironi të ekzekutoni në mënyrë të përsëritur një grup udhëzimesh automatikisht, ose të zgjidhni një problem ndryshe në varësi të vlerës së variablave ose parametrave të specifikuar nga përdoruesi në kohën e ekzekutimit. Për këtë qëllim përdoren konstruktet e kontrollit dhe sythe.

VBA mbështet konstruktet e mëposhtme të vendimeve:

Nëse. . . Pastaj. . . Ndryshe

6.1 Nëse ndërtimi. . . Pastaj

Nëse ndërtohet. . . Pastaj përdoret kur është e nevojshme të ekzekutohet një ose një grup deklaratash në varësi të disa kushteve. Sintaksa e këtij konstrukti ju lejon ta specifikoni atë në një rresht ose në disa rreshta të programit:

If kusht atëherë shprehja If kusht Pastaj shprehja Fund If

Zakonisht kushti është një krahasim i thjeshtë, por mund të jetë çdo shprehje me një vlerë të llogaritur. Kjo vlerë interpretohet si E gabuar nëse është null, dhe çdo vlerë jo-nul trajtohet si e vërtetë. Nëse kushti është i vërtetë, atëherë ekzekutohen të gjitha shprehjet pas fjalës kyçe Pastaj. Për të ekzekutuar me kusht një deklaratë të vetme, mund të përdorni sintaksë me një rresht ose sintaksë me shumë rreshta (ndërtimi i bllokut).

Dy pohimet e mëposhtme janë ekuivalente:

Nëse ka Data< Now Then anyDate = Now If anyDate < Now Then anyDate = Now End If

Vini re se sintaksa e deklaratës If është . . . Atëherë për një rresht nuk përdoret pohimi End If. Për të ekzekutuar një sekuencë deklaratash nëse një kusht është i vërtetë, duhet të përdorni një konstruksion blloku If. . . Pastaj. . . Fundi Nëse.

Nëse ka Data< Now Then anyDate = Now Timer.Enabled = False " Запретить таймер. End If

Nëse kushti është false, atëherë deklaratat pas fjalës kyçe Pastaj nuk ekzekutohen dhe kontrolli kalon në rreshtin tjetër (ose rreshtin pas deklaratës End If në një konstrukt bllok).

6.2 Nëse ndërtimi. . . Pastaj. . . Ndryshe

përcakton disa blloqe deklaratash, njëri prej të cilëve do të ekzekutohet në varësi të kushtit:

Nëse kushti1 Atëherë shprehja1 ElseNëse kushti2 Pastaj shprehja2 . . . Shprehje tjetër-n Fund Nëse

Kur ekzekutohet, së pari kontrollohet kushti 1. Nëse është false, VBA kontrollon kushtin tjetër2, e kështu me radhë, derisa të gjejë një kusht të vërtetë. Pasi VBA e gjen atë, ajo ekzekuton bllokun e duhur të deklaratave dhe më pas transferon kontrollin në deklaratën pas deklaratës End if. Ky konstrukt mund të përfshijë një bllok të deklaratave Else që VBA e ekzekuton nëse asnjë nga kushtet nuk plotësohet.

Nëse ndërtohet. . . Pastaj. . . ElseIf është me të vërtetë vetëm një rast i veçantë i konstruksionit If. . . Pastaj. . . Ndryshe. Vini re se ky ndërtim mund të ketë çdo numër blloqesh ElseIf, ose edhe asnjë. Një bllok tjetër mund të përfshihet pavarësisht nga prania ose, anasjelltas, mungesa e blloqeve ElseIf.

Nënshembulli1() Dim a Si Single, b Si Single, x Si Single Dim z Si Leximi i Thirrjes së Dyfishtë ("A1", a) Leximi i thirrjes ("B1", b) Le të jetë x = CSng(InputBox("fut x", "Hyrja e të dhënave", 0)) Nëse x<= a Then z = Sin(x) ElseIf x >= b Pastaj z = Tan(x) Tjetër: z = Cos(x) Fundi nëse Call out("C1", z) Fundi nën

Vini re se mund të shtoni çdo numër blloqe Elself në klauzolën If. . . Pastaj. Megjithatë, numri i blloqeve Elself mund të bëhet aq i madh sa që konstrukti If. . . Atëherë do të bëhet shumë e rëndë dhe e pakëndshme. Në një situatë të tillë, duhet të përdoret një strukturë tjetër vendimmarrëse - Select Case.

6.3 Zgjidhni dizajnin e kasës

Konstrukti Select Case është një alternativë ndaj konstruksionit If. . . Pastaj. . . Përndryshe kur ekzekutoni një bllok të përbërë nga një grup i madh deklaratash. Konstruksioni Select Case ofron një aftësi të ngjashme me atë të konstruksionit If. . . Pastaj. . . Përndryshe, por ndryshe nga ai, ai e bën kodin më të lexueshëm kur ka zgjedhje të shumta.

Konstruksioni Select Case vepron në një shprehje të vetme për t'u testuar, e cila vlerësohet një herë pas hyrjes në konstrukt. VBA pastaj krahason rezultatin që rezulton me vlerat e specifikuara në deklaratat Case të konstruktit. Nëse gjendet një përputhje, blloku i deklaratave të lidhura me deklaratën Case ekzekutohet:

Zgjidhni Rastin e testuar_shprehje ] ] . . . ] Fund Zgjidh

Çdo listë shprehjesh është një listë me një ose më shumë vlera. Nëse ka më shumë se një vlerë në një listë, ato ndahen me presje. Çdo bllok deklaratash përmban disa ose asnjë deklaratë. Nëse rezulton se vlera e llogaritur e shprehjes që testohet përputhet me vlerat nga disa deklarata Case, atëherë ekzekutohet blloku i deklaratave të lidhura me deklaratën e parë Case nga të gjitha ndeshjet e gjetura. VBA ekzekuton bllokun e deklaratave të lidhura me deklaratën Case Else (vini re se është opsionale) nëse nuk gjenden përputhje midis vlerës së shprehjes që testohet dhe vlerave nga të gjitha listat e deklaratave Case.

Le të shohim një shembull të llogaritjes së funksionit

Nënshembulli2() Konsult pi2 = 1,57 Dim x Si Single Dim z Si Double Le x = CSng(InputBox("hyn x", "Data input", 0)) Zgjidh rastin x Rasti -pi2 z = Sin(x) Rasti 0 z = Cos(x) Rasti pi2 z = Tan(x) Rasti tjetër MsgBox "Të dhëna hyrëse të pavlefshme!" Dilni në fund Përzgjidhni Call out("D1", z) Përfundoni nën

Vini re se konstrukti Select Case vlerëson shprehjen vetëm një herë pas hyrjes, ndërsa konstrukti If. . . Pastaj. . . Tjetër vlerëson një shprehje të ndryshme për çdo deklaratë të Elself. Konstruksioni Nëse. . . Pastaj. . . Else mund të zëvendësohet nga një konstrukt Select Case vetëm nëse deklarata If dhe çdo deklaratë Elself vlerësojnë të njëjtën shprehje.

Operatori Select Case i gjuhës VBA është krijuar për të formuar një përzgjedhje të një operacioni në varësi të vlerës; në fakt, ky operator përzgjedhës është një hibrid i operatorit të kushtëzuar vba if atëherë. Gjithçka është mjaft e thjeshtë - në skript ka një ndryshore, vlera e së cilës do të ndryshojë, dhe në varësi të vlerës ju duhet të zgjidhni cilin bllok kodi (shprehje) të ekzekutoni.

Ashtu si në operatorin e kushtëzuar, këtu kontrollohet një vlerë, për shembull: ekziston një fushë teksti në të cilën duhet të futni të dhëna, për shembull, moshën. Më pas, duhet të kontrolloni vlerën e futur; nëse vlera është më e vogël se 18, shfaqni një tekst; nëse vlera është midis 19 dhe 30, shfaqni një tekst tjetër; përndryshe, shfaqni një tekst të tretë. Siç është përmendur tashmë, një operator i kushtëzuar mund të përdoret për qëllime të tilla, megjithatë, operatori VBA Select Case është një opsion më kompakt.

Sintaksa e deklaratës VBA Select Case është:

Zgjidhni kuptimin e rastit
Zgjidhni kushtin 1
Kompleti i operatorit

Zgjidhni kushtin 2
Kompleti i operatorit

Zgjidhni kushtin 3
Kompleti i operatorit

….

Zgjidhni kushtin N
Kompleti i operatorit N

Rasti tjetër
Operatorë të tjerë


Fund Zgjidh

Së pari, kontrollohet parametri "vlerë", i cili mund të jetë ose një varg ose një lloj numerik; pas kontrollit të parametrit, ndodh një krahasim i alternuar (duke filluar nga fillimi) me çdo kusht që është specifikuar në operatorë. Zgjidhni Rastin VBA. Nëse ndodh një përputhje për "kushtin 1", atëherë "bashkësia e deklaratave 1" do të ekzekutohet, pas së cilës kodi pas Fund Zgjidh. Operatori Case Else zyrtarisht do të thotë "Përndryshe", domethënë, nëse asnjë nga kushtet nuk është e vërtetë, atëherë grupi i operatorëve të specifikuar për Case Else do të ekzekutohet. Vetë shprehja VBA është Rasti tjetërështë opsionale, si "operatorë të tjerë", mund të hiqet nëse është e nevojshme, shkruhet gjithmonë në fund.

Le të shohim këtë kod shembull:

Nën Komanda PrivateButton1_Click() Dim a a = TextBox1.Text Select Case a Case Is< 100 Label1.Caption = "Vlera e futur është më e vogël se 100" Rasti 101 Deri në 150 Etiketa1.Caption = "Vlera e futur është më e madhe se 100 dhe më e vogël se 151" Rasti 151 Deri në 200 Label1.Caption = "Vlera e futur është më e madhe se 151 dhe më e vogël se 201" Rasti tjetër Etiketa1.Caption = "Vlera tjetër, Deklarata VBA e përzgjedhjes së rastit" Fund Zgjidh Përfundo Nën-Private Nën UserForm_Activate() "Cilësimet fillestare "***************************** Label1.Caption = "" " madhësia e tekstit Label1.Size = 15 " ngjyra e tekstit Label1.ForeColor = &HFF0000 "Rreshtimi në qendër Label1.TextAlign = fmTextAlignCenter " aktivizoni mbështjelljen e linjës Label1.WordWrap = E vërtetë " mbishkrimi në buton CommandButton1.Caption = "Shfaq" "përmbajtja fillestare e fushës së tekstit TextBox1.Tekst = "Fut ndonjë vlerë" Fundi Nën

Në këtë shembull kemi një procedurë CommandButton1_Click, e cila është përgjegjëse për përpunimin e klikimeve të butonave. Ndryshorja a do të ruajë vlerën e fushës së tekstit TextBox1 (vetia e tekstit). Më pas vjen deklarata Select case VBA e përzgjedhjes së gjuhës, në të cilën kontrollohet vlera e ndryshores a, pas së cilës vlera krahasohet me kushtet:

  • Rasti është< 100 – nëse vlera e ndryshores a është më e vogël se 100
  • Rasti 101 deri në 150- nëse vlera është në rangun nga 101 në 150
  • Rasti 151 deri në 200- diapazoni i testimit nga 151 në 200
  • Rasti tjetër- në fakt, të gjitha kuptimet e tjera.

Në varësi të rezultatit të kontrollit, një mesazh informues do të regjistrohet në pronën Caption të objektit.

Procedura UserForm_Activate përmban linja kodi për konfigurimin fillestar të komponentëve të formës - ngjyra, madhësia, teksti fillestar, etj.

Ju mund të shihni rezultatin e ekzekutimit të makros në figurë. Për të krijuar një lidhje midis një makro dhe një formulari, duhet të shkruani në bllokun e kodit për modulin:

Sub OBModule() OBForm.Trego Fundi Sub

Këtu OBModuli– emri i modulit (makro), dhe OBForm– emri i formularit.

Vlen të përmendet se edhe nëse kushti përputhet, për shembull: më pak se 100 dhe më shumë se 99, në deklaratën Select Case do të ekzekutohet vetëm kushti i parë i përputhjes, dhe të gjithë të tjerët do të shpërfillen.

Artikujt më të mirë mbi këtë temë