Excel VBA dělat, zatímco smyčky

Do while Loop znamená dělat něco, zatímco podmínka je PRAVDA. Je to jako logická funkce, která funguje na základě TRUE nebo FALSE. Pokud je podmínkou PRAVDA, bude pokračovat v provádění příkazu uvnitř smyčky, ale pokud je podmínka FALSE ihned, ukončí příkaz Do while. Činnost VBA Do while Loop je znázorněna na obrázku níže.

Syntaxe Do while Loop ve VBA Excelu

Do while Loop má v Excelu VBA dva druhy syntaxe.

Oba vypadají velmi podobně a je v nich jedna jednoduchá diferenciace.

V první syntaxi smyčky „Do while“ nejprve zkontroluje podmínku a poskytne výsledek podmínky jako PRAVDA nebo NEPRAVDA. Pokud je podmínkou PRAVDA, provede kód a provede zadanou úlohu a pokud je podmínkou FALSE, opouští smyčku.

Ve druhé syntaktické smyčce „Do“ nejprve provede kód a poté otestuje, zda je podmínka PRAVDA nebo NEPRAVDA. Pokud je podmínka PRAVDA, znovu se vrátí a provede stejný úkol. Pokud je podmínka FALSE, bude okamžitě ukončena smyčka.

Příklad Excel VBA Do while Loop

Pokud jste v teoretické části nic nerozuměli, nemusíte se čeho bát. Vysvětlím vám jednoduchý soubor příkladů, abyste měli o této smyčce poctivé znalosti.

Tuto šablonu VBA Do while Loop Excel si můžete stáhnout zde - VBA Do while Loop Excel Template

Nyní provedeme úkol vložení prvních 10 sériových čísel z buňky A1 do A10. Postupujte podle níže uvedených kroků a použijte smyčku „Do while“.

Krok 1:

Nejprve vytvořte název makra.

Kód:

 Sub Do_While_Loop_Example1 () End Sub 

Krok 2:

Definujte proměnnou jako „Dlouhá“. Definoval jsem „k“ jako dlouhý datový typ.

Kód:

 Sub Do_While_Loop_Example1 () Dim k As Long End Sub 

Krok 3:

Nyní zadejte slovo „Do while“. A po spuštění názvu smyčky zadejte podmínku jako „k <= 10“.

Kód:

 Sub Do_While_Loop_Example1 () Dim k Tak Long Do while k <= 10 End Sub 

Krok 4:

Nyní pomocí vlastnosti CELLS umožňuje vložení sériových čísel.

Kód:

 Sub Do_While_Loop_Example1 () Dim k tak dlouho, dokud k <= 10 buněk (k, 1). Hodnota = k End Sub 

Poznámka: Zde proměnná „k“ začíná od 1, takže na první hodnotě k se rovná 1. Kamkoli „k“ je rovno 1.

Krok 5:

Nyní smyčku uzavřete zadáním slova „LOOP“.

Kód:

 Sub Do_While_Loop_Example1 () Dim k tak dlouho, dokud k k = = 10 buněk (k, 1). Hodnota = k Konec smyčky Sub 

Dobře, máme hotovo. Pro lepší porozumění nechte tento kód testovat jeden po druhém stisknutím klávesy F8.

Nejprve stiskněte klávesu F8, zvýrazní název makra žlutou barvou.

Nyní ještě jednou stiskněte klávesu F8, že skočí na Do while Loop. Umístěte kurzor na „k“ a podívejte se, jaká je hodnota.

K = 0. Důvod, proč je „k“ nyní roven nule, protože zde není spuštěna smyčka. Stiskněte klávesu F8 ještě jednou a uvidíte, co je hodnota.

Hodnota „k“ je přesto nulová. Dobře, udělejme nyní jednu věc, zastavte běh makra a před začátkem smyčky přiřaďte hodnotu „k“ jako 1.

Nyní uvnitř smyčky přiřaďte hodnotu k jako k = k +1.

Nyní spusťte proces provádění kódového řádku po řádku stisknutím klávesy F8. Začněte stisknout klávesu F8 a zjistěte, jaká je hodnota, když provede smyčku „Do while“.

Kód:

 Sub Do_While_Loop_Example1 () 

Dim k As Long

k = 1

Proveďte Zatímco k <= 10
Buňky (k, 1). Hodnota = k
k = k + 1

Smyčka

End Sub

Hodnota „k“ se tedy rovná 1. Kdekoli je „k“, je rovna hodnotě 1. Takže řádek kódu Cells (k, 1). Hodnota = k se rovná:

Hodnota buněk (1, 1). Hodnota = 1 tj. Řádek 1 a Sloupec 1 (buňka A1) se rovná 1.

Stiskněte klávesu F8 a proveďte akci uvnitř smyčky.

Nyní se podívejte na hodnotu v buňce A1.

Takže jsme dostali hodnotu 1 v buňce A1.

Nyní spusťte další řádek stisknutím klávesy F8 a podívejte se, jaká je hodnota „k“.

Teď je hodnota k rovna 2. Takže kdekoli k je rovna 2.

Stiskněte klávesu F8, nyní se kód vrátí a otestuje hodnotu k.

Nyní stiskněte ještě dvakrát klávesu F8 a podívejte se, jaká je hodnota v buňce A2.

Takhle udělejte smyčku, zatímco provádíte úlohu vkládání sériových čísel, dokud hodnota k nedosáhne 11. Teď už jsem provedl řádek po řádku, dokud hodnota k nedosáhne 10.

Nyní, když stisknu ještě jednou klávesu F8, vrátí se k testování stavu, ale nevykoná řádek kódu, protože hodnota k je nyní více než 10.

Pokud stisknu klávesu F8, okamžitě opustí smyčku a přejde na End Sub.

Konečný výstup je uveden následovně.

Stejně jako tento VBA Do while Loop lze použít k provádění stejné sady úkolů, dokud daná podmínka není PRAVDA.

Co si pamatovat

  • VBA Do while Loop provádí úlohu, dokud není podmínka PRAVDA.
  • Můžeme také testovat podmínku na začátku smyčky nebo také na konci smyčky.
  • Pohybová podmínka je FALSE, opouští smyčku a úlohu neprovede.

Doporučené články

Toto byl průvodce VBA Do while Loop. Zde jsme diskutovali o tom, jak používat Excel VBA Do while Loop spolu s některými praktickými příklady a stahovatelnou šablonou Excel. Můžete si také prohlédnout naše další doporučené články -

  1. Jak používat funkci FIND v Excelu?
  2. Metody použití funkce VBA v Excelu
  3. Způsoby použití funkce VBA v Excelu
  4. Jak používat funkci VBA VLOOKUP?

Kategorie: