Encyklopedie

Cykly While – Wend a Do – While

Použití cyklů v kódu VBA.

V kódu VBA je možné použit cykly, které probíhají, dokud platí daná podmínka. V momentě, kdy podmínka platit přestane, cyklus skončí.

Z historických důvodů je možné použít 2 formy zápisu tohoto cyklu:

  • While – Wend cyklus
  • Do While – Loop cyklus

V praxi se tyto cykly nijak významně neliší. Častěji používanou formou zápisu je While-Wend cyklus.

Mějme toto zadání. Po spuštění makra se přidá nový list. Dále se zeptáme uživatele, zda se má přidat další list. Pokud zvolí možnost ANO, list se vloží. Pokud zvolí možnost NE, program skončí. Tento postup se opakuje do doby, než uživatel zvolí možnost NE.

V kódu se použijí tyto příkazy:

  • vbYes – proměnná ANO
  • Sheets.Add – vloží prázdný list
  • MsgBox – vyskakovací dialogové okno
  • vbYesNo – tlačítko pro zadání možnosti Ano, Ne

Cyklus je ohraničen slovy While – Wend. Probíhá, dokud podmínka platí. Tedy dokud uživatel volí možnost Ano jako odpověď na dotaz Další list?

 

Kód k vyzkoušení:

Sub PridejList()
dalsi = vbYes
While dalsi = vbYes
Sheets.Add After:=ActiveSheet
dalsi = MsgBox(„Další list? „, vbYesNo)
Wend
End Sub

 

Stejný cyklus je možný zapsat i pomocí Do While a Loop:

 

Tento druhý způsob zápisu umožňuje zapsat podmínku na konec za slovo Loop.

Chcete se dozvědět více?
Navštivte náš kurz Excel - makra
Zjistit více