Bemutató a Excel VBA hurkok VBA

Vannak olyan helyzetek, amikor a VBA-kód szükséges, hogy számos alkalommal ugyanazokat a műveleteket (vagyis többször megismételjük azonos blokk kód). Ezt meg lehet tenni a VBA ciklus.

VBA ciklus tartalmazza:

Az alábbiakban részletesen megtekintheti egyes ciklusok.

«A» ciklusban szereplő Visual Basic

A képzési szerkezet a szereplő Visual Basic lehet megszervezni egy két formája: a For ciklus. Következő ciklusban, illetve minden egyes.

Ciklus «A ... Tovább»

A loop. Következő használ változó sorrendben veszi értékeket egy előre meghatározott tartományon. Minden változás a változó értékét intézkedéseket hajtottak végre, a rabok a hurok. Ez könnyen megérthető egy egyszerű példa:

Ebben az egyszerű For ciklus. Következő egy változót i. amelyek egymás kap értéke 1, 2, 3, ... 10, és minden ezen értékek végezzük VBA-kódot, található a hurok. Így az aktív ciklus hozzáadja a tömb elemeinek iArray változó összesen.

A példában a ciklus megnöveli a fenti nincs megadva, így növekményt i változó 1-10, az alapértelmezett növekményének 1. azonban bizonyos esetekben a használni kívánt egyéb értékeket a növekmény ciklusban. Ezt meg lehet tenni a kulcsszó lépés. amint az a következő egyszerű példát.

Mivel az adott példában például növekmény egyenlő 0,1 fent megadott. A dTotal változót minden ismétlésnél ciklusban úgy értékek 0,0, 0,1, 0,2, 0,3, ... 9,9, 10,0.

Annak meghatározására lépésben VBA ciklusban használhat egy negatív értéket, például, mint ez:

Ott növekmény -1, annál. Ezért i változó az egyes ismétlési ciklus feltételezi értékek 10, 9, 8, ... 1.

Ciklus «For Each»

Mindegyik hurok hasonló a ciklus számára. Következő. hanem rendezni egy érték szekvencia variábilis-számláló, a hurok Mindegyik végez egy sor akciók minden objektum az említett objektum csoport. A következő példa az egyes hurkok felsorolja az összes papírt az aktuális munkafüzet, Excel:

megszakítja a ciklust üzemeltető «kijárat»

Exit For utasítás segítségével megszakítja a ciklust. Amint a kód megfelel ez az operátor, a program befejezi a végrehajtás a hurok, és továbblép a szolgáltatók, amelyek a kód után a ciklus. Ezt fel lehet használni, például keresni egy bizonyos érték a tömbben. Ahhoz, hogy ez a látható, minden eleme a tömb segítségével egy hurok. Ha a kívánt terméket találnak, akkor nem szükséges a megtekintéséhez a többi - a ciklus megszakad.

Alkalmazás kijárat kijelentés azt az alábbi példa. Itt a ciklus megy keresztül 100 bejegyzés tömb és összehasonlítani az egyes a változó értékét DVal. Ha egyezést talál, akkor a ciklus megszakad:

Ciklus «Do While» Visual Basic

Do While ciklus végrehajtja a kódrészletet, amíg el nem éri a megadott feltételt. Ezután egy példát Sub eljárást. ahol Do While az egymás kiadási ciklus Fibonacci-szám nem haladja meg az 1000:

Ebben a példában, a feltétel iFib_Next <1000 проверяется в начале цикла. Поэтому если бы первое значение iFib_Next было бы больше 1000, то цикл бы не выполнялся ни разу.

Egy másik módja, hogy végre egy Do While ciklus - tegye a feltétel nem az elején és a végén a ciklus. Ebben az esetben a ciklus kerül végrehajtásra legalább egyszer, függetlenül attól, hogy a feltétel teljesül.

Sematikusan Do While ciklus, hogy ellenőrizze a feltételeket a végén fog kinézni:

Ciklus «Do-ig» Visual Basic

Ne Amíg hurok nagyon hasonlít a hurok Do While. egy blokk-kód a hurok test fut ismételten mindaddig, amíg egy adott feltétel teljesül (az eredmény egy feltételes kifejezés True). Az alábbi eljárás alkalmazásával Sub ciklus Ne Amíg kivont értékek minden sejtje oszlopban a munkalapon, amíg az oszlopot ütközött üres cella:

A fenti példában a feltétel IsEmpty (Cells (iRow, 1)) elején tárolt a szerkezet Do ig. így a hurok kerül végrehajtásra legalább egyszer, ha az első cella még nem hozott.

Azonban, amint ezt a példákban Do While ciklus. Bizonyos helyzetekben meg kell ciklusban végeztük legalább egyszer, függetlenül a kezdeti eredmény a feltételes kifejezés. Ebben az esetben a feltételes kifejezés kell elhelyezni a ciklus végén, valahogy így:

Kapcsolódó cikkek