Ve VBA můžete ukončit smyčku Do pomocí Ukončit Do příkaz.
1 | Ukončit Do |
Když dojde ke spuštění kódu Ukončit Do, kód opustí smyčku Do a bude pokračovat prvním řádkem za smyčkou.
Pokud se chcete dozvědět, jak ukončit smyčku For, klikněte na tento odkaz: VBA Exit For
Ukončení smyčky při splnění podmínky
V následujícím příkladu uvidíte, jak opustit smyčku Do, když je splněna určitá podmínka. Smyčkujeme a zvyšujeme hodnotu proměnné i o 1 v každé iteraci. Pokud jde o 6, chceme opustit smyčku a vrátit okno se zprávou. Zde je kód:
1234567891011 | Dim i As IntegerDo While i <10i = i + 1Pokud i = 6 PakUkončit DoKonec IfSmyčkaMsgBox "Hodnota je" & i |
Nejprve zadáme smyčku Do, pokud je hodnota i menší než 10:
123 | Do While i <10Smyčka |
V těle smyčky zvýšíme hodnotu i o 1:
1 | i = i + 1 |
Poté pomocí příkazu If zkontrolujeme, zda je hodnota i rovna 6. Pokud je hodnota 6, ukončíme smyčku Do a přejdeme na první řádek za smyčkou:
123 | Pokud i = 6 PakUkončit DoKonec If |
První řádek kódu, který bude spuštěn po ukončení smyčky Do, je okno se zprávou s hodnotou i:
1 | MsgBox "Hodnota je" & i |
Pokud spustíte tento kód v Debugovací mód, uvidíte, že to projde smyčkou 6krát. V 6th iterace, hodnota proměnné i se stane 6 a kód vstoupí do těla If. Nyní je tělo smyčky Do ukončeno. Poté se zobrazí vyskakovací okna MsgBox s hodnotou i: