Excel VBA do smyčky
Ve VBA jsou 2-3 typy smyček. Některé smyčky fungují, když je podmínka PRAVDA a jiné fungují, když je podmínka FALSE . Excel VBA Do Loop je takový druh, který funguje, dokud podmínka není PRAVDA a ukončí se, jakmile se podmínka stane FALSE. Do Loop je 2 typů, což je Do-Until loop a Do-while Loop. Do Loop začíná pracovat, pouze pokud podmínka splňuje požadavek, a poté musíme definovat výstupní podmínku, když bude smyčka zastavena. Pokud to nedefinujeme, bude smyčka spuštěna až do limitu definovaných datových typů.
Níže je uvedena syntaxe Do Loop:
Do While/ Until (Condition) (Statement) Exit Do
(Statement) Loop
Jak používat smyčku v aplikaci Excel VBA?
Naučíme se, jak používat Do Loop v Excelu pomocí kódu VBA.
Tuto šablonu VBA Do Loop Excel si můžete stáhnout zde - VBA Do Loop Excel TemplateVBA Do Loop - Příklad č. 1
V tomto příkladu uvidíme, jak funguje Do Until Loop. Spustíme podmínku, kdy Do loop vytiskne číslo, dokud podmínka nebude PRAVDA, a jakmile se podmínka stane FALSE, bude nadšená.
Krok 1: Nyní otevřete nejprve kartu z nabídky Vložit, jak je ukázáno níže.
Krok 2: V tom napište podprogram VBA Do Loop, jak je ukázáno níže, nebo můžete zvolit libovolný název pro definování názvu kódu.
Kód:
Sub VBA_DoLoop () End Sub
Krok 3: Definujte proměnnou jako celé číslo. Je to proto, že budeme používat čísla s Do Loop.
Kód:
Sub VBA_DoLoop () Dim A jako celé číslo End Sub
Krok 4: Přiřaďte hodnotu k proměnné A. Řekněme, že je hodnota 1. Tato hodnota je pozice buňky, odkud se budou zobrazovat hodnoty vytištěné. Zde budou hodnoty vidět z buňky A1. Pokud zvolíme 2, bude hodnota vytištěna z buňky 2.
Kód:
Sub VBA_DoLoop () Dim A jako celé číslo A = 1 End Sub
Krok 5: Nyní otevřete Do Until Loop, jak je ukázáno níže. Zde budeme psát kód.
Kód:
Sub VBA_DoLoop () Dim A jako celé číslo A = 1 Do Dokud Konec smyčky Sub
Krok 6: Nyní napište podmínku Do Until Loop. Řekněme, že chceme vidět čísla až do buňky 5.
Kód:
Sub VBA_DoLoop () Dim A jako celé číslo A = 1 Do A> 5 Loop End Sub Sub
Krok 7: Napište příkaz, kde uvidíme číslo z první buňky sloupce A ( sloupec 1 ). A také zvolte hodnotu, kterou chceme vidět. Zde jsme vybrali číslo 20.
Kód:
Sub VBA_DoLoop () Dim A jako celé číslo A = 1 Do A> 5 buněk (A, 1). Hodnota = 20 Sub Loop End Sub
Krok 8: Nyní zadejte konečně příkaz exit. Zde chceme opustit smyčku Do Until, když dosáhne buňky +1 počáteční buňky.
Kód:
Sub VBA_DoLoop () Dim A jako celé číslo A = 1 Do A> 5 buněk (A, 1). Hodnota = 20 A = A + 1 End Loop Sub Sub
Krok 9: Zkompilujte kód a spusťte jej kliknutím na tlačítko Přehrát umístěné pod nabídkovou lištou, jak je ukázáno níže.
Krok 10: Uvidíme, že číslo bylo vytištěno z buňky 1 až 5 s číslem 20.
Krok 11: Nyní, pokud změníte referenční výchozí bod z 1 na 2 v proměnné A a uvidíte, co dostaneme.
Kód:
Sub VBA_DoLoop () Dim A jako celé číslo A = 2 Do A> 5 buněk (A, 1). Hodnota = 20 A = A + 1 End Loop Sub Sub
Krok 12: Znovu spusťte kód. Uvidíme, že nyní jsou hodnoty vytištěny z buňky 2 (což je referenční buňka) do buňky 5 (což je poslední buňka).
VBA Do Loop - Příklad č. 2
V tomto příkladu uvidíme, jak funguje funkce Do while Loop. Funkce Do When funguje také, když se stav změní na PRAVDA. Podle syntaxe proveďte definovanou podmínku, když je vybraný příkaz TRUE a Do exit ze smyčky, pokud je podmínkou ukončení TRUE. Použijeme smyčku Do while a přidáme číslo již vytvořená čísla a dostaneme výstup do jiného sloupce.
Postupujte podle následujících kroků:
Krok 1: Napište podprogram pro smyčku Do while, jak je ukázáno níže.
Kód:
Sub VBA_DoLoop2 () End Sub
Krok 2: Nyní také v tomto příkladu bychom potřebovali proměnnou a referenční bod, odkud uvidíme čísla. Zvažte tedy první 2 kroky z příkladu 1, jak je ukázáno níže.
Kód:
Sub VBA_DoLoop2 () Dim A jako celé číslo A = 1 End Sub
Krok 3: Nyní otevřete syntaxi Do while Loop, jak je ukázáno níže.
Kód:
Sub VBA_DoLoop2 () Dim A jako Integer A = 1 Do while Loop End Sub
Krok 4: Nyní zapište podmínku, kde Do while spustí smyčku, zatímco hodnota buňky není rovno () prázdné . Zvažte také vložení hodnoty do buněk z prvního sloupce listu.
Kód:
Sub VBA_DoLoop2 () Dim A jako celé číslo A = 1, zatímco buňky (A, 1). Hodnota "" Loop End Sub Sub
Krok 5: Nyní z druhé pozice listu získejte výstup přidáním čísla do každé buňky, která není prázdná. A řekněme, že toto číslo je 5.
Kód:
Sub VBA_DoLoop2 () Dim A jako celé číslo A = 1, zatímco buňky (A, 1) .Value "" Buňky (A, 2) .Value = Buňky (A, 1) .Value + 5 End Loop Sub Sub
Krok 6: A ve stavu ukončení zapište podmínku pro ukončení ze smyčky, pokud je další buňka prázdná.
Kód:
Sub VBA_DoLoop2 () Dim A jako celé číslo A = 1, zatímco buňky (A, 1) .Value "" Buňky (A, 2) .Value = Buňky (A, 1) .Hodnota + 5 A = A + 1 Konec smyčky Sub
Krok 7: Znovu spusťte kód stisknutím klávesy F5 nebo kliknutím na tlačítko přehrávání. Uvidíme, v dalším sloupci k A, což je B, byl přidán nový seznam čísel s přidáním +5 do každé buňky, která má hodnoty.
Krok 8: Nyní předpokládejme, že odstraníme hodnotu buňky z mezi seznamem.
Krok 9: Po opětovném spuštění kódu uvidíme, že v buňce A8 došlo k přerušení, takže odtud došlo k ukončení funkce Do while. A přidal +5 každé číslo buňky do A7, který má výstup z B1 do B8.
Výhody aplikace Excel VBA Do Loop
- Implementace je tak snadná a rychlá, že její dokončení není časově náročné.
- Budeme psát jako typickou podmínku, kterou chceme, pokud je PRAVDA.
- V kombinaci můžeme použít funkce Do while i Do Un Loop.
Co si pamatovat
- Nejlepší způsob, jak opustit smyčku, je dát FALSE podmínku blíže k TRUE podmínce.
- Můžeme použít více než 1 podmínku v Do Loop, pokud jsou tyto podmínky PRAVDA.
- Je nutné dát podmínku Exit. Pokud tak neučiníme, smyčka bude nepřetržitě běžet, dokud nebude mít limit nebo nikdy nepřestane běžet.
- Chcete-li zachovat kód, uložte soubor Excel do formátu povolení maker.
Doporučené články
Toto je průvodce VBA Do Loop. Zde diskutujeme o tom, jak používat Do Loop v Excelu VBA spolu s praktickými příklady a stahovatelnou šablonou Excel. Můžete si také prohlédnout naše další doporučené články -
- Kolekce VBA (příklady)
- VBA IF Prohlášení | Šablony Excelu
- Jak používat funkci řazení Excel VBA?
- VBA while Loop (příklady se šablonou Excel)
- VBA Environ