Tento návod je o tom, jak ve Visual Basicu zapisovat cykly / smyčky.

Ukážeme si čtyři možnosti jejich zápisu. Výběr z nich je na programátorovi, v řadě situací je možné použít více z nich.

Cyklus For x to y

V tomto cyklu pracujeme s počítadlem / counterem.

Na začátku nastavíme, od kterého celého čísla do kterého má cyklus probíhat, a na konci cyklu jen poskočíme na další krok počítadla. To se napříkad hodí, pokud chceme nějakou akci provést např. na řádcích od desátého do dvacátého.

Příklad zápisu cyklu, který proběhne desetkrát:

For a = 10 To 20
obsah cyklu
Next a

Cyklus For each

Logika tohoto cyklu je taková, že necháme cyklus proběhnout nad určitou množinou objektů (řádků, buněk, souborů…) přičemž nezkoumáme, kolik jich je. Tento cyklus se tedy spustí tolikrát, kolik objektů množina obsahuje.

Příklad zápisu cyklu, který proběhne na pěti buňkách:

For Each bunka In ActiveSheet.Range("A1:A5")  
obsah cyklu
Next bunka

Cyklus Do while

Tento cyklus se opakuje tak dlouho, dokud trvá pravdivost nějakého logického tvrzení. To samozřejmě dává smysl pouze v případě, že vlivem činnosti cyklu nebo nějakým zásahem zvenku dojde časem k situaci, že podmínka už splněná nebude a cyklus se tím pádem zastaví.

Příklad zápisu cyklu, který se bude točit, dokud bude a menší než 10:

Do While a < 10
obsah cyklu
Loop

Cyklus Do until

Tento cyklus funguje přesně opačně než předchozí. V tomto případě se cyklus běží, dokud je podmínka neplatná, a jakmile začne být splněná. skončí.

Příklad zápisu cyklu, který se zastaví, jakmile a klesne pod deset:

Do Until a < 10
obsah cyklu
Loop