Přejít na hlavní obsah

Příklady použití cyklu Do Until VBA Excel

Cykly jsou jedním z nejdůležitějších programovacích návrhů, které umožňují opakované provádění určitého bloku kódu. Jedním z takových cyklů v jazyce VBA Excel je cyklus Do Until. Tento cyklus umožňuje provést kód, dokud zadaná podmínka není pravdivá. V tomto článku se podíváme na několik příkladů použití cyklu Do Until VBA Excel.

Prvním příkladem je použití cyklu Do Until k odvození čísel od 1 do 10. K tomu nastavíme proměnnou i, která se s každou iterací zvýší. Na začátku nastavíme hodnotu i na 1. Poté začneme cyklus Do Until, ve kterém vypustíme hodnotu i a zvýšíme ji o 1. Cyklus bude probíhat až do 11.

Druhým příkladem je použití cyklu Do Until k nalezení konkrétní hodnoty v poli. Předpokládejme, že máme pole arr, které se skládá z 10 prvků. Musíme najít index prvku s určitou hodnotou. Nastavíme proměnnou i rovnou 0 a začneme cyklus Do Until. V rámci cyklu zkontrolujeme, zda se aktuální hodnota pole arr(i) rovná hledané hodnotě. Pokud ano, vytočíme index i a opustíme cyklus. Pokud ne, zvýšíme i o 1 a pokračujeme v cyklu.

Cyklus Do Until VBA Excel je šikovný nástroj pro opakování určitého bloku kódu, dokud není splněna daná podmínka. Uvedené příklady ukazují pouze některé možnosti použití tohoto cyklu. V závislosti na úkolu a požadavcích je možné vytvořit složitější cykly, vzájemně je navlhčit a použít různé podmínky pro opuštění cyklu.

Princip fungování cyklu Do Until

Cyklus Do Until je jednou z možností cyklů v programovacím jazyce VBA Excel. Tento cyklus provede blok kódu, dokud se zadaná podmínka nestane pravdivou.

Syntaxe cyklu Do Until vypadá následovně:

Do Until podmínka

blok kódu

Klíčové slovo Do Until označuje začátek cyklu. Poté následuje podmínka, která musí být zkontrolována před každým provedením kódu v cyklu. Pokud je podmínka pravdivá, pak se provádění cyklu zastaví a po klíčovém slovu přejde na další pokyny Loop.

Uvnitř bloku kódu lze provádět jakékoli akce, včetně operací proměnných, zadávání a výstupu dat a dalších.

Příklad použití cyklu Do Until:

Sub DoUntilExample()Dim i As Integeri = 1Do Until i > 5MsgBox ii = i + 1LoopEnd Sub

V tomto příkladu deklarujeme proměnnou i a přiřazujeme jí hodnotu 1. Pak vstoupíme do cyklu Do Until, kde blok kódu vygeneruje hodnotu proměnné i ve zprávě. Poté hodnota proměnné i zvyšuje se o 1. Cyklus pokračuje, dokud hodnota proměnné i nebude jich víc než pět.

V důsledku provádění tohoto kódu budou vyvedeny hodnoty 1, 2, 3, 4 a 5.

Příklad 1: Použití cyklu Do Until k nalezení konkrétní hodnoty v rozsahu

Cyklus Do Until VBA Excel umožňuje provádět konkrétní blok kódu, dokud se zadaná podmínka nestane pravdivou. Tento cyklus se často používá k nalezení určité hodnoty v rozsahu.

Řekněme, že máme rozsah A1:A10, ve kterém jsou uložena čísla. Chceme najít první výskyt čísla 5 v tomto rozsahu. Můžeme použít cyklus Do Until spolu s podmínkou, která zkontroluje, zda se aktuální hodnota buňky rovná hledanému číslu.

Dim rng As RangeDim cell As RangeDim searchValue As IntegersearchValue = 5Set rng = Range("A1:A10")Set cell = rng(1)Do Until cell.Value = searchValueSet cell = cell.Offset(1)LoopMsgBox "Число " & searchValue & " найдено в ячейке " & cell.Address

V tomto příkladu deklarujeme proměnné rng (rozsah), cell (buňka) a searchValue (hledaná hodnota). Poté přiřadíme proměnné RNG rozsah A1: A10. Poté nastavíme proměnnou cell na první buňku rozsahu.

Cyklus Do Until provede blok kódu, dokud se aktuální hodnota buňky nevyrovná vyhledané hodnotě. Uvnitř cyklu posuneme buňku dolů pomocí metody Offset. To nám umožňuje zkontrolovat následující buňku v rozsahu, aby odpovídala požadované hodnotě.

Když se hodnota v buňce rovná vyhledané hodnotě, cyklus Do Until skončí a my zobrazíme zprávu s informacemi o nalezeném čísle a jeho adrese v buňce.

V důsledku provedení tohoto kódu obdržíme zprávu "číslo 5 nalezeno v buňce $a$3".

Použití cyklu Do Until nám tedy umožňuje efektivně vyhledávat určitou hodnotu v rozsahu a provádět akce, které potřebujeme, když je nalezen.