Az üzemeltetők körülmények VBA. Branch operátorok VBA: Egyszerű kiválasztás

az Ha funkció. A VBA-ban az összes kijelentés egyik leggyakrabban használta. Az IF funkció ellenőrzése, ha a megadott feltétel teljesül, vagy sem. Az IF funkció a VBA-ban kissé eltérő módon működik, hogy hogyan működik az Excelben. Az Excel-ben az IF funkció két dolgot tesz: Ellenőrzi, hogy az adott állapot igaz vagy hamis értékre kerül-e, majd az értékelés alapján az értékelés alapján értékeli az értéket, ha ( Állapot, RETURET_VALUE_IF_CONDITION_TRUE, RETURET_VALUE_IF_CONDITION_FALSE). Azonban az IF funkció a VBA-ban csak az első rész, azaz Ellenőrizze, hogy az állapot értékeli-e igaz vagy hamis. A továbbiakban a továbbiakban a továbbiakban megadott forgatókönyv.

Egy egyszerű, ha a VBA-ban működik

Itt van egy példa a Ha funkció.. Ez a VBA kód egyszerűen ellenőrzi, hogy a megadott állapot (az 1.\u003e 4) értékeli-e igaz vagy hamis. Ebben az esetben csak az elvégzendő lépéseket csak akkor határoztuk meg, ha az állapot igazolódik. Ebben az esetben az eredmény megjelenik a képernyőn. Ha a funkció hamis, akkor a VBA-kód semmit sem tesz.

1
2
3
4
5

Sub if_function ()
Ha 7\u003e 1
Msgbox "7 nagyobb, mint 1"
Vége, ha
Vége.

az Azután. A nyilatkozat lényegében olyan irányelv, amely jelzi, hogy a lépések azonnal követni kell, ha a feltétel közvetlenül az igazság értékelése előtt kell végrehajtani.

Az IF funkció jellemzően véget ér, ha a nyilatkozat lehetővé teszi, hogy az alkalmazás tudja, hogy ez az utolsó sor az IF funkció. Az alábbiakban az IF funkció kissé rövidebb formája. Ne feledje, hogy a vége, ha a nyilatkozat megszűnt, és három kódsorot egyesítettek.

Sub if_function_short ()
Ha a 7\u003e 1, akkor az msgbox "7 nagyobb, mint 1"
Vége.

Ezt az űrlapot azonban csak akkor kell használni, ha nem MÁS. Vagy. Más, ha. Nyilatkozatokra van szükség. Nézzük meg, hogy mit és hogyan segítenek az IF funkció növelésében.

Ha a VBA-ban másként működik

A fentiekben megadott példában láttuk, hogy az IF funkció csak akkor tudja elvégezni a lépéseket, ha a feltétel igaz. De mi van, ha meg akarjuk adni az elvégzendő lépéseket, amikor a feltételek valamelyikét teljesítették. Az egyik módja annak, hogy az elágazást egy, ha a funkció az, hogy használja az egyéb utasításokat. Egyszerűen fogalmazva, az egyéb utasítás okozza az alkalmazás végrehajtását az egyébként blokkban említett lépések végrehajtásakor, ha a ha záradékban megadott feltétel hamis.

Az IF-függvény állapotában a FALSE-re értékelhető, az egyébként blokkban említett lépések végrehajtásra kerülnek annak az eredménynek, hogy az "1 kevesebb, mint 4" üzenet jelenik meg a képernyőn. Több lépcsőt lehet hozzáadni a blokkhoz, hogy mindegyiküket egymás után hajtsák végre.

1
2
3
4
5
6
7

Sub if_elseif_function ()
Ha 1\u003e 4

MÁS:
Msgbox "1 kisebb, mint 4"
Vége, ha
Vége.

Használja az AF funkciót másként és más módon: VBA-ban

Az egyéb nyilatkozat támogatható az egyébként. Általában azokat a konkrét feltételek ellenőrzésére használják, és ha mindegyik hamis értéket értékel, az egyébként az esetekben meghatározott lépések végül végrehajtásra kerülnek. Ha az utasítás ellenőrzi az adott állapotot. Ha ez a feltétel hamis, akkor az első máskénti nyilatkozatban megadott állapot kerül ellenőrzésre. Ha ez is hamis, akkor a második másnap állításban megadott feltétel ellenőrizhető, és így tovább. Ha az IF és az ElseIF állításokban meghatározott összes feltétel hamis, alapértelmezés szerint az utolsó másként említett lépések: blokk lesz végrehajtva. Ne feledje, hogy ha több előállítási állítás van, akkor az első, amely igaz, hogy igaz, végrehajtja, és egyszer befejeződött, a kódfuttatás a végére vált, ha az utasítás. Még akkor is, ha több, az igazi másfajta feltétel, amely igaz, csak az első, amely értékeli az igazat, végrehajtásra kerül.

1
2
3
4
5
6
7
8
9
10
11


Ha.< \u003e Akkor.
Msgbox "1 nagyobb, mint 4"
Másszer< \u003e Akkor.

Másszer< \u003e Akkor.

MÁS.< >:

Vége, ha
Vége.

Az alábbi példában az IF állapot először ellenőrzi. Mivel hamis értékelést értékel, az első másfél állapotot értékeljük, majd a második. Mivel egyikük sem értékeli az igazat, az egyébként említett lépések: feltételek kerülnek végrehajtásra.

1
2
3
4
5
6
7
8
9
10
11

Sub if_elseif_else_function ()
Ha 1\u003e 4
Msgbox "1 nagyobb, mint 4"
Elseif 2\u003e 4 akkor
Msgbox "2 nagyobb, mint 4"
Elseif 3\u003e 4
Msgbox "3 nagyobb, mint 4"
MÁS:
Az MsgBox "1, 2 vagy 3 kisebb, mint 4"
Vége, ha
Vége.

Gyors tipp - Hogyan készítsünk, ha az államok gyorsabban dolgoznak

Mindkét kód hasonló. A második funkció két másfokozatát cseréljük. A következő VBA-kód közül melyiket gondolja, hogy gyorsabban hajt végre?:
Vége, ha
Ezután I.
Msgbox időzítő - t
Vége.

A válasz az, hogy a második sokkal gyorsabb, mint az első. Miért? Mivel a másodiknak kell alkalmaznia a kódsorokat, mielőtt megtalálja az igazat értékelő feltételeket. Ne feledje, hogy az első másolat feltétele, hogy ha megtalálta az igazat, és a többi feltétel sem értékelhető, akkor is, ha igaznak kell értékelniük. A VBA-kód első darabjában a 6. sorban lévő Elsőfokú funkció igaz, míg a második, az 5. sor megfelel a kritériumoknak. Lényegében, annál valószínűbb, hogy a feltétel az igazsághoz igazodik, a korábban a VBA-kódba kell helyezni, minden más pedig ugyanaz.

A vezérlőszerkezetek lehetővé teszik a program végrehajtásának sorrendjének kezelését. Ellenőrző operátorok nélkül minden programüzemeltető balról jobbra és felülről lefelé kerül. Azonban néha szükség van az utasítások automatikus végrehajtására, vagy a feladatot más módon oldja meg a felhasználó által meghatározott változók vagy paraméterek értékétől függően a végrehajtás során. Ehhez menedzsmentként és ciklusként szolgál.

A VBA támogatja a következő döntéseket tervezési minták:

HA. . . Azután. . . MÁS.

6.1 Építés, ha. . . Azután.

Építés, ha. . . Ezután érvényes, ha valamilyen állapottól függően végre kell hajtania az egyiket vagy a piaci szereplőket. A design szintaxis lehetővé teszi, hogy egy sorban vagy a program több sorában állítsa be:

Ha az állapot, akkor az expresszió, ha az állapot, akkor az expressziós vég, ha

Általában az állapot egyszerű összehasonlítás, de bármilyen kifejezést lehet a számított értékkel. Ezt az értéket hamis (FALSE) értelmezik, ha nulla, és a nem nulla értéket igaznak tekintik (igazság). Ha az állapot igaz, akkor az akkori kulcsszó után álló összes kifejezés végrehajtásra kerül. Az egyik operátor hagyományos kivitelezéséhez mind az egyik sor szintaxisát, mind a szintaxist több sorhoz (blokktervezéshez) használhatja.

A következő két operátor egyenértékű:

Ha segély.< Now Then anyDate = Now If anyDate < Now Then anyDate = Now End If

Ne feledje, hogy az IF operátor szintaxisa. . . Ezután egy sorban nem használja a végét, ha utasítás. A kijelentések sorrendjének elvégzése, ha az állapot igaz, akkor az IF-blokk kialakítását kell használni. . . Azután. . . Vége, ha.

Ha segély.< Now Then anyDate = Now Timer.Enabled = False " Запретить таймер. End If

Ha az állapot FALSE, akkor a kulcsszó utáni operátorok nem hajtják végre, és a vezérlést a következő karakterláncra (vagy a végső sztring után továbbítják, ha a kezelő blokktervezésben van).

6.2 Ha design. . . Azután. . . MÁS.

számos operátorok blokkját határozza meg, amelyek közül az egyiket az állapot függvényében hajtják végre:

Ha az 1. feltétel, akkor az expresszion1 elképzelhető állapot2, majd expressziós2. . . Más kifejezés-n vég, ha

Ha végrehajtásra kerül, az 1. feltétel először ellenőrzi. Ha hamis, a VBA ellenőrzi az alábbi feltételeket2, mindaddig, amíg meg nem találja az igazi állapotot. Miután megtalálta, a VBA végrehajtja a megfelelő operátorok blokkját, majd továbbítja az utasítás irányítását a vége után, ha az utasítás. Ebben a tervezésben engedélyezheti az egyéb operátorblokkot, amelyet a VBA végrehajt, ha a feltételek egyikét sem végzik el.

Építés, ha. . . Azután. . . ElseIF valójában csak egy különleges eset, ha design. . . Azután. . . MÁS. Ne feledje, hogy ebben a tervezésben lehet bármilyen más, vagy akár egyetlen. Az egyéb egység függetlenül a jelenlététől függetlenül, vagy éppen ellenkezőleg, az egyébként blokkok hiánya.

Az 1. alépítő példa () Dim A Asing As Single, B Egyetlen, X mint egy DIM Z, mint kettős hívás olvasása ("A1", A) hívás olvasása ("B1", B) Legyen X \u003d CSNG (inputbox ("Enter x", "Adatok bevitele", 0))) Ha x<= a Then z = Sin(x) ElseIf x >\u003d B, akkor z \u003d tan (x) más: z \u003d cos (x) vég, ha hívja ki ("C1", Z) végső sub

Ne feledje, hogy bármilyen számú Elsf blokkot adhat hozzá az IF designhoz. . . Azután. Az ELSELL blokkok száma azonban olyan nagy, hogy az IF design. . . Ezután nagyon nehézkes és kényelmetlen lesz. Hasonló helyzetben a döntés másik tervezését kell alkalmazni - válasszon esetet.

6.3 Válassza ki az esettanulmányt

A kiválasztott eset design egy, ha alternatíva. . . Azután. . . Máskülönben, ha egy blokk egy nagy üzemeltetőből áll. A kiválasztott esetek kialakítása olyan lehetőséget kínál, mint a tervezés lehetőségéhez. . . Azután. . . Máshol, de ellentétben vele, a kódot több választás jelenlétében olvashatóbbá teszi.

A kiválasztott tok kialakítása egyetlen kifejezést is működik, amelyet egyszer kiszámítanak a tervezéshez. A VBA ezután összehasonlítja az esetek tervezési szolgáltatókban meghatározott értékekkel kapott eredményt. Ha a véletlen egybeesés megtalálható, a kezelőblokkot az ügykezelőhöz kapcsolja:

Válasszon Case Versement_menue]]]]]. . . ] Vége kiválasztása

A kifejezések listája egy vagy több érték lista. Ha egy listában egynél több értéket tartalmaz, vesszővel elválasztják őket. Minden kezelőblokk több operátort tartalmaz, vagy egyetlen. Ha kiderül, hogy az expressziós érték kiszámított értéke megfelel az esetekből származó értékeknek, akkor az operátorblokk az első ügykezelővel együtt az összes megfelelőségből származik. A VBA az eseti utasításhoz kapcsolódó operátorok blokkját hajtja végre (vegye figyelembe, hogy ez nem kötelező), ha az eset-üzemeltetők összes listájának expressziójának és értékeinek megfelelőségét nem találják meg.

Fontolja meg a funkció kiszámításának példáját

Példa () CONFTI PI2 \u003d 1,57 DIM X, MINDEN DIMC DOUR ZS DOUBLE LET X \u003d CSNG (Inputbox ("Enter x", "Adatok belépése", 0)) Válasszon tokot x case -pi2 z \u003d sin (x) tok 0 z \u003d cos (x) eset PI2 z \u003d tan (x) eset elé msgbox "Érvénytelen forrásadatok!" EXIT SUB VÉGE Válassza ki a hívást ("D1", Z) végi al

Ne feledje, hogy a kiválasztott tok kialakítása csak egyszer kiszámítja a kifejezést a bejáratnál, és a szerkezetben, ha. . . Azután. . . A mást különböző kifejezők számolják ki minden ELSELF operátor számára. Ha design. . . Azután. . . A mást csak akkor lehet kicserélni a kiválasztott eset-tervezéssel, ha az IF utasítás és az egyes ELSH utasítás ugyanazt a kifejezést számít ki.

Az eljárások és függvények, hogy a VBA fellépőként lineáris sorrendben - VBA indul végrehajtását kódot az első szolgáltató bejelentését követően sor az eljárás (funkció) és továbbra is végezni minden üzemeltető sor végéig Sub állítás (End Function) eléréséig. Az ilyen lineáris algoritmus a következő folyamatábra történő benyújtása:

Azonban gyakran vannak olyan helyzetek, amikor szükséges, hogy az eljárások vagy funkciók különböző feltételek mellett különböző feltételeket hajtanak végre. Az ilyen helyzet a következő folyamatábrákot szemlélteti:



A program elágazásának szerepét végző szereplők bármely feltétel alapján feltételes átmeneti operátorok.

A legegyszerűbb feltételes átmeneti szereplők az üzemeltetők. Ha akkor; Ha..then..elje. Az első üzemeltető lehetővé teszi az eljárás egyetlen ágát (bal blokkdiagram), míg a második lehetővé teszi az eljáráskód (jobb blokkdiagram) két alternatív ága közül választhat azon értékelés alapján, hogy az állapot egyenlő-e igaz vagy hamis.


Szintaxis, ha ...

1.opció:
Ha. Feltétel. Azután. Kijelentések

2. lehetőség:
Ha. Feltétel. Azután.
Kijelentések
Vége, ha


Feltétel. - logikai kifejezés;

Kijelentések


Az első opció megköveteli az üzemeltető írását egy sorban, míg a kijelentések szakaszban több operátort is megadhat, elválasztva őket egy vastagbélrel.

A munka logikája a következő: VBA először becsli az állapotban bemutatott logikai kifejezést; Ha ez a logikai kifejezés igaz, az állítások szakaszának nyilatkozata (üzemeltetők) történik; A VBA ezután folytatja a következő sor kódjának végrehajtását, ha ... (1. opció) vagy a kulcsszavak végéig (2. lehetőség). Ha a logikai kifejezés hamis, akkor a nyilatkozatok szekcióüzemeltetők kihagyásra kerülnek, és az e szakasz következő kódja.


Az alábbiakban az írás első verziójának elemi használatának felsorolása, ha ...






És most - a második lehetőség:



Felhívjuk figyelmét, hogy a nyilatkozatok szakaszos nyilatkozatai a nyugdíjazás (fül) használatával vannak írva. Ez fontos pont. Azonnal megtanítania kell magát a programkód ilyen tervezésére - növeli az olvashatóságát, és nagymértékben megkönnyíti a hibák keresését.


Szintaxis, ha..then..elje

1.opció:
Ha. Feltétel. Azután. Kijelentések MÁS. Elsestatements.

2. lehetőség:
Ha. Feltétel. Azután.
Kijelentések
MÁS.
Elsestatements.
Vége, ha


Feltétel. - logikai kifejezés;

Kijelentések, Elsestatements - Egy, több vagy sem egyetlen VBA operátor.


Ha analógiával az IF..hen - Az első opció megköveteli az üzemeltető írását egy sorba, míg a kijelentésekben és az elsestatements szakaszokban több operátort is megadhat, elválasztva őket egy vastagbélrel.

A második lehetőség lehetővé teszi, hogy több operátort adjon meg különböző sorokban.

A munka logikája a következő: VBA először becsli az állapotban bemutatott logikai kifejezést; Ha ez a logikai kifejezés igaz, az állítások szakaszának nyilatkozata (üzemeltetők) történik; A VBA ezután folytatja a következő sor kódjának végrehajtását, ha ... (1. opció) vagy a kulcsszavak végéig (2. lehetőség). Ha a logikai kifejezés hamis, akkor az Elsestatements szakasz operátorai végeznek.

Alapvető nyelvi operátorok VBA

Megjegyzések (0)

3.1. A szereplők rögzítési szabályai

Az üzemeltetők felvételekor a következő szabályokat kell követnie:

Minden új üzemeltető új vonalból íródik.

Ha több üzemeltetőt is ugyanazon a vonalon rögzítenek, akkor egy vastagbél (:) elválasztják.

Ha az operátor nem illeszkedik egy sorba, akkor telepítenie kell egy helyet és egy aláhúzást (_) jelet a karakterlánc végén, majd folytassa a nem megfelelő részt a következő sorban.

3.2. Alkalmazási üzemeltető

A hozzárendelési nyilatkozatot akkor használjuk, ha bizonyos változónak új értéket kell rendelnie. A következő szintaxis:

NAME_NAME= KIFEJEZÉS

Először is kiszámításra kerül a jobb oldalon található kifejezés, majd az eredmény a bal oldalon lévő változóhoz van hozzárendelve.

például. Jegyezze fel a hozzárendelési szolgáltatóval a következő matematikai kifejezést:

A VVA-on ez a kifejezés a következő operátor formájában írható:

Y \u003d a ^ (1/3) + (a ^ 2 + exp (-b) / (sin (a) ^ 2-log (b))))

3 .3. I / O nyilatkozatok

3 .3.1. Üzemeltető és msgbox funkció

Operátor MsgBox. A párbeszédpanelen szereplő információk kimenetét kizárja, és beállítja a gombot a Felhasználó gombra kattintva.

A következő szintaxis:

MsgBox. Üzenet [, gombok] [, cím]

Arguments:

Üzenet - Kötelező érv, amely meghatározza az ablakban megjelenített információs üzenetet. Lehet, hogy több szöveges karakterláncot tartalmazhat egy jel & . Használja ezt az érvet CHR (13) az új karakterláncra való áttéréshez vezet.

Gombok - Az argumentum értéke határozza meg az ablakban megjelenő gombok kategóriáit. Az argumentum értékétől, a függő gombok is, ha bármelyik ikon jelenik meg az ablakban. Ha nincs megadva, akkor mely gombokat kell megjeleníteni az üzenetablakban, az alapértelmezett érték megfelel az OK gombnak. A lapon. 3.1 A gombok és ikonok lehetséges kombinációi az üzenetablakban.

Cím - Megadja az ablak fejlécét.

Funkció MsgBox. Visszaadja az egész típus értékét, jelezve, hogy melyik gombot megnyomja a párbeszédpanelen.

3.1. Táblázat. A változó gomb megengedett értékei

Kijelző

Érv

Gomb OK.

OK gombok és törlés

Gombok és nem

Gombok igen, nem és törölje

Stop gombok, ismétlés és figyelmen kívül hagyás

Vbabortretryignore.

Gombok megismétlése és törlése.

Információs jel

Kérdőjel

Felkiáltójel

például. Jelenítse meg az aktuális dátumot.

MsgBox "Ma a naptárban" és dátum, "Figyelem"

Ennek eredményeként megjelenik a következő ablak (3.1. Ábra).

Az OK gombra kattintva az üzenetablak bezáródik, és a program végrehajtása az Üzemeltetőtől közvetlenül az MsgBox hívás mögött folytatódik.

3.3.2. Funkció Inputbox.

Funkció Inputbox.tegye fel a változók értékeit a bemeneti ablak segítségével, és a következő szintaxis:

NAME_NAME = Inputbox (Üzenet [, cím] )

Arguments:

Üzenet - Kötelező érv. Megadja az ablakban található információs üzenetet, általában a beillesztési érték jelentését

Cím - Megadja az ablak fejlécét.

például, Adja meg az N változó értékét a billentyűzetről, az alapértelmezett érték kezelése 10.

Ehhez használhatja a következő operátort:

N \u003d inputbox ("Enter N", "Írja be a forrásadatok", 10)

Ennek eredményeként a következő ablak jelenik meg az n változó értékének megadásához (3.2. Ábra).

Ha az alapértelmezett érték alkalmas a felhasználó számára, az OK gombra kattintva, a bemeneti ablak bezáródik, az N változó hozzárendelve van a 10 érték és a program végrehajtása a kezelőtől közvetlenül a hívás mögött folytatódik Inputbox..

Ha az alapértelmezett érték nem alkalmas a felhasználó számára, az OK gombra kattintva meg kell adnia az N változó kívánt értékét.

3 .four. Feltételes operátor, ha

Az elágazási számítástechnikai folyamat végrehajtása VBA-ban, az üzemeltető használata Ha ... akkor ... más, amely a vizsgálati körülmények legegyszerűbb formáját jelenti. A következő szintaxis:

Ha.FELTÉTEL Azután.Operator_1 E.lSE.Operator_2.

Operator_1 Végrehajtott, ha FELTÉTELigaz, ellenkező esetben végrehajtott Operator_2.. Ebben az esetben az IF ... Ezután ... más egy sorban van írva.

FELTÉTEL - Ez logikus kifejezés. A kifejezés eredménye mindig logikai típusú. A kifejezés egyszerű és összetett lehet. Az egyszerű feltételek írásakor a táblázatban feltüntetett kapcsolat minden lehetséges művelete használható. 3.2.

asztal3 .2. Logikai kapcsolatok

Művelet

Név

Kifejezés

Eredmény

Igaz, ha és

Igaz, ha nem egyenlő

Igaz, ha és több

Igaz, ha kevesebb, mint a

Több vagy egyenlő

Igaz, ha többé vagy egyenlő

Kevesebb vagy egyenlő

Igaz, ha kevesebb vagy egyenlő

A kifinomult körülmények logikai műveletek és kerek zárójelek alkalmazásával rendesek. A logikai műveletek listáját a táblázat tartalmazza. 3.3.

asztal3 .3. Logikai műveletek

Név

Kifejezés

Eredmény

Logikus
tagadás

Logikai I.

Logikus vagy

A feltételes operátor megengedett a kezelőblokkot a szolgáltatók helyett. Ebben az esetben a feltételes operátornak van formája:

Ha.FELTÉTEL Azután.

Blokk referenciák_1

Blokk Referenciák_2.

Vége I.f.

Számos feltétel ellenőrizhető a feltételes kijelentésben. Ebben az esetben a feltételes operátornak van formája:

Ha.Állapot_1 Azután.

Blokk referenciák_1

MásszerFeltétel_2.Azután.

Blokk Referenciák_2.

MÁS.

Vége.Ha.

1. példa.. Írja be a program egy részét az algoritmushoz az 1. ábrán. 3.3.

2. példa. Írja be a program egy részét az algoritmushoz az 1. ábrán. 3.4.

3.5. Válassza ki az esetválasztó szolgáltatót

SELECT CASE Operator kényelmes használni, ha értékétől függően egy kifejezés, amely egy utolsó megengedett értékeket, meg kell végezni a különböző lépéseket. Ez vonatkozik a feltételes üzemeltetőkre is, de más megjelenés:

Válassza ki az esetet. Ellenőrzött

Ügy. Értékek_1

Operátorok_1

Ügy. Értékek_ 2

Üzemeltetők_ 2

. . .

Ügy. Értékek_n.

Üzemeltetők_N.

[ Ügy.MÁS.

Másképp_ Üzemeltetők]

Végső kiválasztás.

Ellenőrzött Lehet, hogy bármilyen skalár típus, kivéve a valódi. Értékek Az egymástól elválasztott tetszőleges számú értéktől vagy tartománytól származik.

Egy típus Értékek meg kell egyeznie a típust Ellenőrzött.

Először kiszámítja Ellenőrzött. Ha az érték egybeesik az egyik értékkel Értékek_i., akkor fut Operátorok. Végső kiválasztás.. Ha az érték nem felel meg az értékeknek Értékek_i., akkor fut Másképp és a vezérlést az üzemeltetőnek továbbítják Végső kiválasztás.

Például. Írja be a program egy részét az algoritmushoz az 1. ábrán. 3.5, meghatározza az S változó értékét, az N változó értékétől függően.

3.6. Ciklusüzemeltetők

A ciklikus számítástechnikai folyamat végrehajtása, azaz az egy vagy több operátor többszöröse a ciklus üzemeltetője Mert ... Következőamely a következő szintaxissal rendelkezik:

-ÉrtSzámláló \u003d nach_new T.o.Con_ Lépés.LÉPÉS

Blokk referencia

Blokk referencia

KövetkezőSZÁMLÁLÓ

Ciklus ... Következő Visszatérés Változó értékek SZÁMLÁLÓamely egy ciklusparaméter a kezdetektől a végéig a megadott módosítási lépéssel. Ez biztosítja a ciklusos testszolgáltatók blokkjának végrehajtását minden új mérőértékkel. Ha egy Lépés.LÉPÉSnincs formatervezés, majd alapértelmezés szerint úgy vélik, hogy a lépés az 1. \\ t Kilépés.korábban kiléphet a cikluskezelőből SZÁMLÁLÓeléri az utolsó értéket. *

A hasonló objektumok csoportjából származó objektumok, például a tartomány- vagy tömbelemekből származó sejtek kényelmesek a cikluskezelő használatához Mert ...Mindegyik ... következő..

Az egyes.Elem BAN BEN.Csoport

BLOKK_ Üzemeltetők

Blokk referencia

KövetkezőElem

A VBA-ban más ciklusüzemeltetők használják a ciklusok megszervezésére ismeretlen ismétlés dátummal:

ciklusok előfeltételével - Do.MígHurok.,

Do.Amíg.Hurok.;

ciklusok postcondition - Do.Hurok.Míg,

Do.Hurok.Amíg..

Az alábbiakban a ciklusszolgáltatók szintaxisa:

"Ciklus előfeltételévelDo. Míg Hurok.

Csinálni, miközbenFELTÉTEL

Blokk referencia

Blokk referencia

"Ciklus előfeltételévelDo. Amíg. Hurok.

Do.Amíg.FELTÉTEL

Blokk referencia

Blokk referencia

"Ciklus a postconditionDo. Hurok, miközben

BLOKK_ Üzemeltetők

Blokk referencia

Hurok, miközbenFELTÉTEL

"Ciklus a postconditionDo. Hurok addig.

BLOKK_ Üzemeltetők

Blokk referencia

Hurok addig.FELTÉTEL

Operátor Do.W.hile ... hurok.a kezelőegység többszörös ismétlését adja meg FELTÉTEL megfelel az üzemeltetőnek



Egyéb hírek

3.5.1 Feltételes és feltétel nélküli átmeneti szereplők. Operátor Ha ... Akkor ... más.

A VBA feltételeinek ellenőrzése, ha ... egyéb ... más, beágyazott szerkezetek, ha

Feltételes átmeneti operátorok - A programozási nyelvek közül a legfontosabb és gyakran használt elemek. Az általános elv munkájuk egyszerű: Compliance ellenőrizzük bizonyos feltételek (igaz vagy hamis voltát bármilyen kifejezést), és ennek függvényében a program küldött egyik vagy másik ága. A VBA-ban két feltételes átmeneti operátor van: ha ... akkor ... más, és válassza ki az esetet.

Operátor Ha akkor.... más a legnépszerűbb programozók. A szintaxissal tele van:

Ha az állapot.
Csapatok1

Ahol:

  • Feltétel - az igazságra igazolt kifejezés. Ha ez igaz, a parancsok futnak1, ha hamis módon - parancsok2;
  • Körülmények - További feltételek is ellenőrizhetők. Abban az esetben, ha végrehajtják őket (a feltételek expressziója igaz), a parancsok végrehajtásra kerülnek.

Ha ... akkor ... másra is érvényes:

  • ha ellenőriznie kell az egyik feltételnek való megfelelést, és hogy megfelelőség esetén valamilyen intézkedés:

Ha Ntemperature.< 10 Then

Msgbox "ruha kabát"

  • ha ezt meg kell tennie, mint az előző példában, és inkonzisztenciák esetén végezzen egy másik műveletet:

Ha Ntemperature.< 10 Then

Msgbox "ruha kabát"

MsgBox "Dress on Windbreaker"

  • ha ellenőriznie kell a többfokozat betartását (figyeljen a logikai operátorok használatára):

Ha (Ntemperature.< 10) And (bRain = True) Then

Msgbox "ruhát öltözködni, és vegyen egy esernyőt"

  • ha az első ellenőrzés visszatért FALSE, akkor ellenőriznie kell a sok további feltétel (ebben az esetben kényelmes az, hogy másképp):

Ha (bigoincar \u003d igaz) akkor

Msgbox "ruha a géphez"

Elempermperature.< 10 Then

Msgbox "ruha kabát"

Msgbox "ingben megy"

Ebben a példában, mivel BIGOINCAR egy változó típusú logikai és maga veszi Igaz vagy hamis értéket, az első sor így néz ki:

Ha Bigoincar, akkor ...

Néhány megjegyzés, ha ... Akkor ... más:

  • a PIN kulcsszónak ugyanabban a sorban kell lennie, ha és az állapot. Ha a következő sorba viszi, hibaüzenet jelenik meg;
  • ha olyan parancsot helyez el, amelyet az igazolt állapot igazságával szeretne elvégezni, ugyanabban a sorban, ha, akkor véget ér, ha nem írhat:

Ha Ntemperature.< 10 Then MsgBox "Одеть куртку"

  • ha több parancsot vagy más / más parancsot használ, akkor a vége, ha a végén bármit kell írnia - egyébként szintaktikai hiba lesz.
  • ha ... Ezután kifejezést, akkor erősen ajánlott a francia bekezdések használata a blokkblokkok kiemeléséhez. Ellenkező esetben olvassa el a kódot.
  • ha ... akkor beilleszthető egymásba:

Ha myvar \u003d 5 akkor

Msgbox "myvar \u003d 5"

Ha myvar \u003d 10 akkor

Msgbox "myvar \u003d 10"