Selectați descrierea cazului vba. Operatorul sucursalei „Selectați cazul”

Selectați exemplu de declarație de caz

Un exemplu care arată cum ar putea arăta de fapt o structură Select Case ar fi util aici.

Selectați Case objectRol l OfFi l m.Type

Caz „Slide”

intSlide = intSlide + 1

Caz „negativ colorat”

int negativ colorat = int negativ colorat + 1

Caz „negativ BW”

intHNegativ = intHNegativ + 1

MgaBox " Tip necunoscut filme. "

Practic, această bucată de cod face același lucru ca și codul de mai sus pentru exemplul din secțiunea despre instrucțiunile If. ... .ElseIf (numai verificarea expirării este omisă). Cu toate acestea, de atunci, obiectul nostru ipotetic care reprezintă o rolă de film pare să fi fost ușor modificat - informațiile despre culoarea și decolorarea filmului sunt acum reprezentate și de proprietatea Toure și nu de o proprietate separată de culoare, ca înainte.

Și dacă acesta este cazul, atunci programul trebuie să funcționeze cu o singură valoare - cu valoarea returnată de proprietatea Type. - dar această valoare este comparată cu mai multe dintre cele valide. Deci Select Case este exact ceea ce medicul a comandat pentru cazul nostru.

Prima aplicație a declarației Case din acest exemplu este echivalentă cu utilizarea If objRollOf Film.Type = "Slide" Then, i.e. dacă proprietatea Object Type este „Slide”, atunci programul execută următoarea instrucțiune, altfel va merge la a doua instrucțiune Case.

Rețineți că nu există niciun semn al operației, a cărei prezență pare logică la prima vedere, în criterii. Acest lucru se datorează faptului că Selectarea cazurilor implică pur și simplu egalitatea ca operator de comparație.

Din cartea EMBEDDED SYSTEMS SOFTWARE. Cerințe generale pentru dezvoltare și documentare autorul Gosstandart al Rusiei

Din cartea Computer + mobil: interacțiune eficientă autorul Goltsman Viktor Iosifovici

Trimiterea de pe site-ul web al operatorului Astăzi, probabil deja, toți operatorii acceptă trimiterea de SMS-uri de pe site-ul dvs. Cu toate acestea, mesajele pot fi trimise doar abonaților acest operator, dar acest lucru este de obicei suficient. Deci, pentru a practica. Vom lua în considerare acum

Din cartea UNIX: Proces interacțiune autorul Stevens William Richard

Exemplu: Cozi de mesaje Posix și funcția de selectare Descriptorul cozii de mesaje (variabilă de tip mqd_t) nu este un descriptor „obișnuit” și nu poate fi utilizat cu funcțiile de selectare și sondare (Capitolul 6). Cu toate acestea, ele pot fi utilizate împreună cu canalul și funcția mq_notify. (Similar

Din cartea VBA pentru manechini autorul lui Cummings Steve

Din cartea Firebird DATABASE GUID DESIGNER de Borri Helen

Verificarea condițiilor în enunțurile de caz selectate Structura Selectarea cazului nu folosește în mod explicit expresii condiționale complete precum cele discutate mai sus (vezi Cursul privind utilizarea expresiilor condiționate). Trebuie să împărțiți fiecare condiție în două părți, reprezentate ca

Din cartea The Art of Programming in Shell Scripting Language de Cooper Mendel

Din cartea Limbaj C - Un ghid pentru începători de Prata Stephen

Din cartea Linux și UNIX: Programare Shell. Ghidul dezvoltatorului. de Teinsley David

Din cartea C ++ pentru începători autorul Lippman Stanley

Exemplul 10-24. Folosind cazul #! / Bin / bashecho; echo „Apăsați tasta urmată de tasta Return.” citiți Keypresscase „$ Keypress” în) echo „litere mici” ;; ) ecou „Litere mari” ;; ) ecou „Număr” ;; *) ecou „Punctuație, spațiu sau altceva” ;; esac # Permis

Din cartea UNIX: Dezvoltarea aplicațiilor în rețea autorul Stevens William Richard

Exemplul 10-25. Creați meniuri cu majusculele! Roland "echo" [J] ones, Mildred "echo" [S] mith, Julie "echo" [Z] ane, Morris "echoread personcase" $ person "în # Notă: variabila este citată.

Din cartea autorului

Exemplul 10-26. Instrucțiunea de caz vă permite să utilizați substituirea comenzii în locul variabilei analizate #! / Bin / bash # Înlocuirea comenzilor în „caz” .case $ (arch) în # comandă „arc” returnează un șir care descrie arhitectura hardware. I386) echo "Mașină bazată pe procesor 80386" ;; i486) echo "Mașină bazată pe

Din cartea autorului

Exemplul A-18. Generați primele folosind operatorul modulo (modulo) #! / Bin / bash # primes.sh: Generați primele, fără matrici. # De Stephane Chazelas. # Acest script nu folosește clasicul algoritm „Seva of Eratosthenes”, # + în schimb din ea

Din cartea autorului

EXTINDEREA DECLARAȚIEI if cu altceva Cea mai simplă formă declarația if este cea pe care tocmai am folosit-o: declarația if (expresie) De obicei, o expresie este înțeleasă aici ca o expresie condițională, cu ajutorul ei se compară valorile a două cantități (de exemplu, x> y

Din cartea autorului

18.8.2. Încheierea executării unei declarații de caz Luați în considerare următorul exemplu. Scriptul rulează o buclă infinită până când utilizatorul introduce un număr mai mare de 5. Pentru a întrerupe bucla și a reveni la Linie de comanda interpretul folosește comanda break. $ pg

Din cartea autorului

Din cartea autorului

Exemplu simplu de utilizare a funcției de selectare Acum vom rescrie codul receptorului nostru de date în afara benzii și vom folosi funcția de selectare în locul semnalului SIGURG. Listarea 24.3 arată programul de recepție, Listarea 24.3. Programul gazdă în care (în mod eronat)

Cel mai operatori importanți termeni folosiți în Excel VBA Sunt operatori Daca atunciși Selectați Caz... Ambele expresii verifică una sau mai multe condiții și, în funcție de rezultat, efectuează acțiuni diferite. În continuare, vom vorbi despre acești doi operatori condiționați în detaliu.

Declarație Visual Basic If ... Then

Operator Daca atunci verifică starea și, dacă este ADEVĂRATĂ, atunci se efectuează setul specificat de acțiuni. Un set de acțiuni poate fi, de asemenea, definit pentru a fi efectuat dacă condiția este FALSĂ.

Sintaxa operatorului Daca atunci asa:

Dacă Stare1 Apoi
Acțiuni dacă Condiția1 este îndeplinită
AltfelDacă Stare2 Apoi
Acțiuni dacă Condiția2 este îndeplinită
Altfel
Acțiuni în cazul în care niciuna dintre condiții nu este îndeplinită
End If

În această expresie, elementele AltfelDacăși Altfel condițiile operatorului nu pot fi utilizate dacă nu sunt necesare.

Mai jos este un exemplu în care se utilizează operatorul Daca atunci culoarea de umplere a celulei active se modifică în funcție de valoarea din ea:

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

Rețineți că de îndată ce condiția devine adevărată, executarea declarației condiționate este întreruptă. Prin urmare, dacă valoarea variabilei ActiveCell mai puțin de 5, atunci prima condiție devine adevărată și celula devine verde. După aceea, execuția operatorului Daca atunci este întrerupt și alte condiții nu sunt verificate.

Selectați Declarație de caz în Visual Basic

Operator Selectați Caz similar cu operatorul Daca atunci prin faptul că verifică și adevărul stării și, în funcție de rezultat, alege una dintre opțiunile de acțiune.

Sintaxa operatorului Selectați Caz asa:

Selectați Caz Expresie
Caz Valoare1
Acțiuni în cazul în care rezultatul expresiei se potrivește cu valoarea 1
Caz Valoare2
Acțiuni în cazul în care rezultatul Expresiei se potrivește cu Valoarea2

Alt caz
Acțiuni în cazul în care rezultatul Expresiei nu se potrivește cu niciuna dintre opțiunile listate Valori
Selectare sfârșit

Element Alt caz opțional, dar este recomandat pentru gestionarea valorilor neașteptate.

În exemplul următor, folosind construcția Selectați Caz culoarea de umplere a celulei curente se modifică în funcție de valoarea din ea:

Selectați Case 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

Exemplul de mai sus arată cum puteți seta o valoare pentru un element în diferite moduri Caz in constructie Selectați Caz... Acestea sunt căile:

Cazul este<= 5 Astfel, folosind cuvântul cheie Cazul este este posibil să se verifice dacă valoarea satisface Expresii stare ca <=5 .
Cazul 6, 7, 8, 9 Astfel puteți verifica dacă valoarea este aceeași Expresii cu una dintre valorile enumerate. Valorile listate sunt separate prin virgule.
Cazul 10 Aceasta verifică dacă valoarea este aceeași Expresii cu o valoare dată.
Cazul 11-20 Astfel, puteți scrie o expresie pentru a testa dacă valoarea satisface Expresii stare ca de la 11 la 20(echivalent cu inegalitatea „11<=значение<=20”).
Alt caz Astfel, folosind cuvântul cheie Altfel, acțiunile sunt indicate în cazul în care valoarea Expresii nu se potrivește cu niciuna dintre opțiunile enumerate Caz.

De îndată ce se găsește una dintre condiții, se efectuează acțiunile corespunzătoare și se renunță la structură. Selectați Caz... Adică, în orice caz, doar una dintre ramurile listate va fi executată Caz.

În programele reale, este adesea necesar să se facă alegeri mai complexe în proceduri, alegând între trei sau mai multe ramuri. În acest caz, puteți pune operatorii Dacă..Atunci..Altfel unul în celălalt. Aceasta se numește cuibărirea declarațiilor.

Procedura de mai sus utilizează mai multe instrucțiuni de salt condițional imbricate. Ar trebui spus că această procedură va funcționa numai în Excel, deoarece folosește metoda Application.InputBox (consultați Funcțiile aplicației gazdă). Această metodă împiedică utilizatorul să introducă altceva decât un număr în timp ce funcția se execută.

Dacă utilizatorul nu introduce un număr, atunci primește un mesaj despre acesta.



Dacă utilizatorul nu introduce nimic, atunci primește informații despre eroare.




Dacă utilizatorul folosește butonul „Anulare”, primește mesajul „Nu s-au introdus date”.


VBA oferă o versiune stenogramă a operatorului Dacă..Atunci..Altfel care este echivalentul condensat al enunțurilor imbricate în Dacă..Atunci..Altfel utilizat în listă. O astfel de formă scurtă este operatorul Dacă..Atunci..ElseIf



Care dintre opțiunile de utilizat este o întrebare pe care fiecare programator o decide individual. Se crede că a doua opțiune este mai compactă, în timp ce prima este mai convenabilă și mai ușor de înțeles.


Puteți cupla operatorii pentru a efectua o selecție din mai multe ramuri posibile de cod Dacă..Atunci..Altfel multe niveluri adânci, dar urmărirea progresului ramurilor devine din ce în ce mai dificilă.

VBA are un operator de sucursală condiționat pentru utilizare în cazurile în care există multe ramuri diferite de cod din care să alegeți - Selectați Caz... Funcționează la fel ca Else..Dacă, dar este mai clar.

Cuvintele cheie Select Case sunt folosite cu multe instrucțiuni Case, unde fiecare instrucțiune Case verifică dacă există o altă condiție și se execută doar una dintre ramurile Case. Ramura Case poate conține una, mai multe sau nici una dintre instrucțiunile VBA.


Operator de salt necondiționat

Operatorul de salt necondiționat, s-ar putea spune, este un rudiment din limbajele de programare timpurii, în care era practic singurul mijloc de organizare a execuției ciclice a blocurilor de cod.

Un operator de salt necondiționat schimbă întotdeauna ordinea de execuție a instrucțiunilor într-o procedură sau funcție. Aceasta nu verifică nicio condiție.


Sintaxă:

Linia GoTo


linia- orice etichetă sau număr de linie valid în aceeași procedură sau funcție care conține instrucțiunea GoTo.

Și în postarea de astăzi vom discuta despre declarația de caz selectată VBA. VBA Select Case poate fi utilizat în locul declarațiilor complexe Excel Nested If. Acest lucru face ca codul VBA să fie mai rapid de executat și mai ușor de înțeles.

Instrucțiunea Select-Case (denumită și „Switch Case” în anumite limbi) verifică o variabilă sau o expresie pentru diferite cazuri (valori). Dacă cineva din caz devine adevărat, atunci doar acel caz este executat și programul ignoră toate celelalte cazuri.

Dacă îți amintești în ultima noastră postare despre care am vorbit despre „cum poți”.

Sintaxa declarației de caz VBA Select:

Sintaxa este ca mai jos:

Selectați Starea cazului
Valoarea cazului_1
Cod de executat când condiția = valoare_1
Valoarea cazului_2
Cod de executat când condiția = valoare_2
Valoarea cazului_3
Cod de executat când condiția = valoare_3
Alt caz
Cod de executat Când toate celelalte cazuri sunt false
Selectare sfârșit

Aici, „Condiție” se referă la variabila sau expresia care urmează să fie testată și pe baza căreia va fi executat oricare dintre segmentele de cod.

„Valoare_1”, „valoare_2” și „valoare_3” sunt posibilele rezultate ale „Condiției”. Ori de câte ori oricare dintre aceste valori se potrivește cu „Condiție”, atunci se va executa blocul Case corespunzător.

„Altfel” este un fel de valoare implicită de caz, care se va executa numai atunci când toate instrucțiunile de caz de mai sus se vor transforma în False. Cazul „Altfel” este opțional, dar, în general, se consideră o bună practică să-l utilizați.

Exemple de Select-Case în VBA:

Acum să trecem la câteva exemple practice de declarații de caz.

Exemplul 1: Selectați declarația de caz cu o expresie.

În exemplul de mai jos, am furnizat o condiție (adică a = b) pentru instrucțiunea Select Case. Dacă acest lucru este adevărat, atunci se va executa blocul „Caz adevărat”, iar dacă este fals, se va executa blocul „Caz fals”.

Sub Select_Case_Example () "Introduceți valoarea variabilelor a = InputBox (" Introduceți valoarea pentru A: ") b = InputBox (" Introduceți valoarea pentru B: ")" Evaluarea expresiei Selectați caz a = b Caz adevărat MsgBox " expresia este ADEVĂRATĂ "Case False MsgBox" Expresiile sunt FALSE "Sfârșit Selectare Sfârșit Sub

Notă:În acest cod este folosit pentru a obține valori de la utilizator.

Exemplul 2: Declarație de caz pentru a verifica Text Strings

În acest exemplu vom compara șirurile de text din instrucțiunile Case. Dacă se găsește o potrivire, atunci se va executa blocul de caz corespunzător, în caz contrar se va executa blocul „Case Else”.

Sub Select_Case_Example () "Introduceți valoarea pentru variabilele fruit_name = InputBox (" Introduceți numele fructului: ")" Evaluarea expresiei Selectați Case Fruit_name Case "Apple" MsgBox "Ați introdus Apple" Case "Mango" MsgBox "Ați introdus Mango" Case "Orange" MsgBox "Ați introdus Orange" Case Else MsgBox "Nu știam acest fruct!" Sfârșit Selectați Sfârșit Sub

Exemplul 3: Declarație de caz pentru verificarea numerelor

În exemplul de mai jos vom verifica dacă numărul introdus de utilizator este mai mic sau mai mare de 5.

Sub Select_Case_Example () "Introduceți valoarea pentru variabilele Num = InputBox (" Introduceți orice număr între 1 și 10: ")" Evaluarea expresiei Selectare Număr caz Număr caz< 5 MsgBox "Your Number is less than 5" Case Is = 5 MsgBox "Your Number is Equal to 5" Case Is >5 MsgBox „Numărul dvs. este mai mare de 5” Sfârșit Selectați Sfârșit Sub

Notă: Poți să folosești ESTE cuvânt cheie cu declarație de caz pentru a compara valorile.

Exemplul 4: Selectați Declarație de caz pentru a verifica condițiile multiple dintr-un singur caz.

În acest exemplu, vom cere utilizatorului să introducă orice număr de la 1-10. Și apoi vom verifica dacă numărul este par sau impar folosind condiții multiple în declarația de caz. Observați aici că am folosit un „,” (virgulă) pentru a compara condiții multiple într-un singur caz.

Sub Select_Case_Example () "Introduceți valoarea pentru variabilele Num = InputBox (" Introduceți orice număr între 1 și 10: ")" Evaluarea expresiei Selectați numărul de caz Caz 2, 4, 6, 8, 10 MsgBox "Numărul dvs. este par." Cazul 1, 3, 5, 7, 9 MsgBox „Numărul dvs. este impar”. Case Else MsgBox "Numărul dvs. este în afara intervalului." Sfârșit Selectați Sfârșit Sub

Notă:Știu că există metode mai ușoare de a verifica dacă un număr este par sau impar, dar am folosit acest exemplu numai pentru a explica cum puteți verifica mai multe condiții într-o singură declarație de caz.

Exemplul 5: Declarație de caz pentru a verifica un interval continuu ca condiție.

Aici vom testa o gamă continuă ca condiție. Vom cere utilizatorului să introducă orice număr între 1-10, dacă numărul este între 1 și 5 (inclusiv 1 și 5), atunci „Cazul 1 până la 5” va fi „Adevărat”, dacă numărul introdus de utilizator este între 6 și 10 (inclusiv 6 și 10), atunci „Cazul 6-10” va fi „Adevărat”, dacă ambele cazuri anterioare sunt „False”, atunci „Cazul Altfel” va fi executat.

Sub Select_Case_Example () "Introduceți valoarea pentru variabile Num = InputBox (" Introduceți orice număr între 1 până la 10: ")" Evaluarea expresiei Selectați Număr caz Caz 1 până la 5 MsgBox "Numărul dvs. între 1 până la 5" Caz 6 până la 10 MsgBox „Numărul dvs. cuprins între 6 și 10” Case Else MsgBox „Numărul dvs. este în afara intervalului.” Sfârșit Selectați Sfârșit Sub

Deci, totul a fost despre VBA Select Case Statement. Simțiți-vă liber să ne împărtășiți gândurile despre acest subiect.

Despre ankit kaul

Ankit este fondatorul Excel Trick. El este un Geek de tehnologie care iubește să stea în fața iubitei sale cu cap pătrat (computerul său) toată ziua. : D. Ankit are o pasiune puternică pentru învățarea Microsoft Excel. Singurul său scop este să vă transforme pe voi în „Excel Geeks”.

Când creați programe complexe, unul dintre punctele cheie este abilitatea de a oferi mai multe opțiuni pentru dezvoltarea evenimentelor. Cel mai simplu și cel mai clasic exemplu este „ Dacă ... Atunci ... Altfel ... Sfârșit", care vă permite să alegeți una dintre cele două acțiuni în funcție de rezultatele verificării unor valori. Se întâmplă ca, ca urmare a unei astfel de verificări, să alegeți dintr-o varietate de opțiuni. Una dintre soluții: adăugați un set". .. AltfelDacă... ", ceea ce complică oarecum sintaxa programului (ușurința citirii). Cu toate acestea, este un operator foarte puternic care deschide posibilități excelente. Puteți afla mai multe despre acesta.

O alternativă la operator " Dacă ... Sfârșit"operatorul servește" Selectați Caz"(din engleza" Selectați Caz"poate fi tradus ca" Selectarea situației "), ceea ce face mai ușoară perceperea codului" prin ochi ". Și dacă" Dacă ... Sfârșit„operator în toate modurile” AltfelDacă„este forțat să se refere la valorile verificate de mai multe ori (de exemplu, expresia este aceeași de fiecare dată), atunci” Selectați Caz"o face o singură dată, ceea ce îi permite acestuia din urmă să lucreze mai rapid pe seturi de date mari. Acest operator vă permite să setați în mod convenabil ramificarea programului dintr-un punct în un numar mare de ramuri. Adică, este utilizat în principal pentru condiții de verificare multiplă, atunci când există mai mult de două condiții verificate.

Structura declarației „Selectare caz”.

Să vedem cum arată structura generalizată a operatorului și să ne dăm seama care este care ( diferite exemple utilizarea privată a codului va fi dată la sfârșitul articolului):

Selectați Caz ​​[Valoare verificată] Caz [Valoare specifică] [Oricare acțiune] Altele caz [Oricare acțiune X] Selectare finală

Ca o piesă [Sens] puteți introduce orice variabilă sau proprietate, a cărei valoare sau pe care o puteți verifica. De asemenea, puteți verifica valoarea unei anumite celule. În acest caz, puteți lucra nu numai cu cifre, ci și cu texte. Și chiar și cu booleeni ADEVARAT FALS(„Adevărul” și „Minciunile”), despre care nu toată lumea știe.

[Înțeles specific] cu ce este comparat [Valoare verificată] ... Și, dacă unul îl satisface pe celălalt, atunci se împlinește [Unele acțiuni] ... Există mai multe opțiuni de înregistrare pentru bloc [Înțeles specific] ... Pentru text și valori numerice, puteți scrie diferite valori separate prin virgule:

Cazul 3, 4, 5, „da”, „nu”

Puteți alege intervale pentru numere:

Cazul 3 - 10 "De la 3 la 10, inclusiv 3 și 10 în sine.

De asemenea, pentru numere, puteți utiliza operatorul de comparație logică împreună cu particula " Este":

Cazul este< 2 "Меньше 2, НЕ включая 2 Case Is = 3 "Равно 3-м. Избыточная запись, достаточно Case 3 Case Is >= 4 "Mai mare sau egal cu 4 cazuri<>0 "Nu este egal cu zero

De asemenea, este permisă utilizarea operatorilor logici, ceea ce va permite asigurarea celor mai complexe cazuri și efectuarea de comparații paralele cu alte variabile. Pe lângă operator " Sau", Care este înlocuit cu o virgulă obișnuită.

Caz ... Și ... Caz nu ...

[Unele acțiuni] poate fi absolut orice. Dacă o omiteți, atunci pentru acest caz programul va fi inactiv. " Caz [Înțeles specific] »Împreună cu partea [Unele acțiuni] adăugați la un bloc:

Caz [Semnificație concretă] [O acțiune]

Pot exista orice număr de astfel de blocuri, care se vor încadra în dimensiunea maximă a procedurii (nu ar trebui să cântărească mai mult de 64 kilobytes). Bine de știut că VBA caută un meci [Valoare specifică] și [Valoare verificată] de-a lungul blocurilor de sus în jos. Adică poți avea două blocuri cu același " Caz", dar va fi executat doar cel care a fost găsit anterior de program la vizualizarea codului de sus în jos.

Alt caz- acestea sunt toate celelalte cazuri care nu se potriveau cu altele [Înțeles specific] în toate blocurile operatorului " Selectați Caz". Dacă se blochează" Alt caz„lipsește și nu a apărut niciun alt bloc, apoi programul face un„ nimic ”logic. Alt caz ar trebui să fie ultimul caz verificat dintre toate blocurile de verificare din declarație. Nu ar trebui să existe alte blocuri după el, altfel vom primi o eroare de sintaxă " Caz fără caz ​​selectat".

La sfârșitul operatorului trebuie să existe „ Selectare sfârșit", care servește ca un" punct "în" propoziția "operatorului.

Exemple de utilizare.

Să ne uităm la câteva exemple de utilizare a codului și să începem cu cel mai simplu. În primul exemplu se afișează un mesaj în funcție de valoarea lui X.

Sub SelectCase_example_1 () Dim X As Long X = 1 "Puteți schimba acest număr și vedeți ce se întâmplă. Selectați Case X Case 1 MsgBox" One "Case 2 MsgBox" Two "Case 3 MsgBox" Three "Case Else MsgBox" Ceva este selectat apoi cealaltă „Sfârșit Selectare Sfârșit Sub

Al doilea exemplu arată un fel de înregistrare a valorii verificate. Se afișează un mesaj diferit în funcție de numărul de foi din cartea macro. Vă rugăm să rețineți că, dacă există 7 coli în carte, atunci „ Cazul 7", Deși condiția" Cazul 5-12”Se potrivește și el, dar stă mai târziu.

Sub SelectCase_example_2 () „Să introducem o variabilă și să numărăm numărul de foi din cartea curentă: Dim X As Long X = ThisWorkbook.Sheets.Count Select Case X” În funcție de numărul de foi din carte, vom afișa un mesaj . Cazul 1 "Dacă este 1 foaie, atunci ... MsgBox" O foaie în carte "Cazul 2, 3, 4" Dacă există 2 sau 3 sau 4 foi MsgBox "Mai multe foi în cartea" Cazul 7 "Dacă sunt 7 foi MsgBox "Număr frumos de foi" Cazul 5 până la 12 "Dacă foile sunt de la 5 la 12 MsgBox" Aproape broșură "Cazul este> = 14" Dacă foile sunt mai mari sau egale cu 14 MsgBox "Foi ca în folio" Case Else "Toate celelalte cazuri, și anume 13 MsgBox" Damn duzină de foi "End Select End End Sub

Al treilea exemplu orientat boolean ADEVĂRAT sau FALS... Verifică dacă ultima foaie din registrul de lucru macro actual este vizibilă sau ascunsă. Coloanele pot fi folosite pentru a înlocui întreruperile de linie pentru un cod mai curat.

Sub SelectCase_example_3 () "Să introducem o variabilă și să o legăm de ultima foaie din carte: Dim shtX Ca foaie de lucru: Set shtX = ThisWorkbook.Sheets (ThisWorkbook.Sheets.Count) Select Case shtX.Visible" Verificați dacă foaia este ascunsă sau nu Case True: MsgBox "Ultima foaie din carte este disponibilă" "Dacă ultima foaie este vizibilă Case Fals: MsgBox" Ultima foaie din carte este ascunsă "" Dacă ultima foaie este ascunsă Sfârșit Selectați Sfârșit Sub

Al patrulea exemplu arată că " Caz»Poate fi ghidat și de alte variabile. ÎN acest caz vom verifica egalitatea a trei variabile folosind operator logic « Și»:

Sub SelectCase_example_4 () "Să introducem mai multe variabile: Dim X%, Y%, Z%" Să echivalăm pe toată lumea cu un triplu: X = 3: Y = 3: Z = 3 Selectăm cazul adevărat "Să verificăm egalitatea tuturor variabilelor Caz Z = X Și Y = X: MsgBox „Toți sunt egali” „Dacă toți sunt egali Altele cazuri: MsgBox„ Cineva este diferit ”„ Dacă cel puțin cineva este diferit Sfârșit Selectare Sfârșit Sub

Al cincilea exemplu arată cum sunt separate prin virgulă în valoarea bifată pentru " Caz»Puteți specifica un set întreg de numere. Să presupunem că există o anumită funcție și verificăm dacă numărul nostru poate fi utilizat în această funcție. Prin convenție, suntem mulțumiți de numere cuprinse între 5 (fără 5) și minus infinit, de la 12 la 15 inclusiv capetele și de la 20 (inclusiv 20) la plus infinit.

Sub SelectCase_example_5 () "Să introducem variabila și să-i dăm manual o valoare Dim X Ca dublu X = InputBox (" Introduceți valoarea numerică a variabilei X ") Selectați Case X" Să verificăm dacă valoarea Case Is este potrivită pentru unele imaginar funcţie< 5, Is >= 20, 12 până la 15 "Gama de valori valabile MsgBox" Valoare validă pentru unele funcții "Altele cazuri" Valori nevalide MsgBox "Valoarea nu poate fi utilizată în unele funcții" Sfârșit Selectare Sfârșit Sub

Rezumând linia, observ că operatorul „ Selectați Caz„Structura este destul de simplă și ușor de utilizat. Este mai puțin flexibil decât „ Dacă ... Sfârșit», Dacă în cursul verificărilor este necesară modificarea valorii verificate, dar câștigă semnificativ atunci când sunt efectuate diferite verificări ale aceleiași expresii. Pentru ceea ce a fost creat de fapt.

Vă mulțumim pentru atenție.

Articolul cu exemple a fost compilat de Roman "Rioran" Corbi pentru www.site