Munka egy gyűrűt VBA

Ezt a leckét kell tekinteni dolgozik egy ciklusban a VBA-ban. Példa a működésre, cikluson, ahogy bemutatásra kerül a példát: létrehozunk képletek Excel makrók.







A loop elvén működik a számláló. Felhasználásra azokban az esetekben, amikor meg kell ismételni bizonyos tevékenységek korábban ismert számú alkalommal. Például hurok gyakran használják olvasásakor tömbök.

  • „Counter” - egy változó, amely nem változik a következő „lépés”. Ha lépést nincs megadva, az egység által hozott alapértelmezett.
  • "Cycle Start". „Ciklus végén” - jelzi a változók száma, illetve alsó és egy felső számláló. Leállítjuk a ciklust, akkor fordul elő, amikor a „Counter”> „ciklus végén” (vagy, ha a fordított ciklusban, azaz -1 lépésben, a „számláló” <"конец цикла").
  • Exit For - egy csapat kénytelen megáll ciklust. Ezt alkalmazzák olyan esetekben, amikor nem volt valami esemény, ami után le akarja állítani a utasítások végrehajtását a hurok, illetve meggátolja a hibákat.

Vegyünk egy pár példát használva egy ciklusban. A jövőben, akkor nagyon gyakran találkozunk ezzel a ciklust.

1. példa
Mivel két oszlop C és E tele számokkal:

Munka egy gyűrűt VBA

makró kód így néz ki (ahol a nyilvántartás kódot itt olvasható):

Sub Tsikl_For ()
„Jelzése állandó határciklusos azaz értékig ciklus fut






Const n = 21
I = 2 és N
„Létrehozása formula vonal és tárolja azt a sejtbe
A sejteket (i, 4) = "= C" CStr (i) "+ E" CStr ((n - i) + 2)
„Folytatódott, amikor fut a hurok
Következő i
„A többi programkód
End Sub

Elemzési írt kód:

  • Const n = 21 - leírása állandó n a értéke 21, vagyis a sorok számát, amelyen fel kell transversed For ciklus;
  • I = 2 és n - i, amely a számláló változik 1 minden áthaladását a ciklus. A számláló kezdődik 2, és akkor végződik, amikor i> n;
  • A sejteket (i, 4) - a sejt a kiválasztott lapot, i vonal száma 4-száma az oszlop, amelyben a kimeneti eredményhez. Kérjük, vegye figyelembe a számláló azt jelzi, egy Excel munkalapon sorszám;
  • Következő i - üzemeltető egy zárt hurok, és egy mutatót a transzfer. Minden, ami között fekszik For és a Next végezzük a ciklusban;
  • CStr - függvény a megadott számot szöveggé.

Cell, hozzárendelünk egy általános képletű létre a következő módon: „= C” CStr (i) "+ E" CStr ((n - i) + 2). jel - „kötés” karaktersor. Ennek eredményeképpen megkapjuk a képlet "= Cn + E ((n - i) + 2)", ahol n = 21, i - számláló.
Ijesztő? Csak úgy tűnik :)

Minden. Végrehajtása után a makró, megkapjuk a következő oszlopban (kiemelve), és a képlet minden cellában:

Munka egy gyűrűt VBA

2. példa
Most tekintsük a ciklusban egy meghatározott pályán. Kiszámítása után a múlt makró van három oszlopot, most kell kivonni az E D oszlop, F oszlop levezetni képletek kivonás. makrókódot az alábbiak szerint:

Ebben az esetben, az összes ugyanaz, csak a ciklus most „fut” nem több, mint 2, és a 21-2 lépéssel (Step) -1.
Az eredmény a kap a következő:

Munka egy gyűrűt VBA

A loop. VBA, nem ez az egyetlen ciklust. A jövőben, akkor figyelembe kell venni néhány ciklusban a lehetőségeket, amelyek nélkülözhetetlenek makrók írásánál az Excel.




Kapcsolódó cikkek