Excel VBA vykonáva slučku

Do while Loop znamená urobiť niečo, zatiaľ čo stav je PRAVÝ. Je to ako logická funkcia, ktorá funguje na základe TRUE alebo FALSE. Takže ak je podmienka PRAVDIVÁ, bude pokračovať vo vykonávaní príkazu vo vnútri slučky, ale ak je podmienka FALSE okamžite, ukončí príkaz Do while. Činnosť VBA Do while Loop je uvedená na obrázku nižšie.

Syntax funkcie Do while Loop vo VBA Excel

Do while Loop má dva druhy syntaxe v programe Excel VBA.

Obaja vyzerajú veľmi podobne a existuje v nich jedna jednoduchá diferenciácia.

V prvej syntaxi slučky „Do while“ najskôr skontroluje stav a poskytne výsledok ako TRUE alebo FALSE. Ak je podmienkou TRUE, vykoná kód a vykoná zadanú úlohu a ak je podmienkou FALSE, ukončí slučku.

V druhej syntaxi slučky „Do“ najskôr vykoná kód a potom otestuje, či je podmienkou PRAVDA alebo NEPRAVDA. Ak je podmienkou PRAVDA, znova sa vráti a vykoná rovnakú úlohu. Ak je podmienkou FALSE, okamžite opustí slučku.

Príklad programu Excel VBA, zatiaľ čo slučka

Ak ste nič v teórii nerozumeli, nemusíte sa obávať. Vysvetlím vám jednoduchý súbor príkladov, aby ste mali o tejto slučke spravodlivé znalosti.

Túto šablónu aplikácie VBA Do while Loop si môžete stiahnuť tu - šablónu VBA Do while Loop Excel

Teraz vykonáme úlohu vloženia prvých 10 sériových čísel z bunky A1 do A10. Ak chcete použiť slučku „Do while“, použite nasledujúci postup.

Krok 1:

Najskôr vytvorte názov makra.

kód:

 Sub Do_While_Loop_Example1 () End Sub 

Krok 2:

Definujte premennú ako „Long“. Definoval som „k“ ako dlhý typ údajov.

kód:

 Sub Do_While_Loop_Example1 () Dim k As Long End Sub 

Krok 3:

Teraz zadajte slovo „Do while“. A po spustení názvu slučky zadajte podmienku ako „k <= 10“.

kód:

 Sub Do_While_Loop_Example1 () Dim k Tak dlho, kým k <= 10 End Sub 

Krok 4:

Teraz použitie vlastnosti CELLS umožňuje vkladať sériové čísla.

kód:

 Sub Do_While_Loop_Example1 () Dim k tak dlho, kým k <= 10 buniek (k, 1). Hodnota = k End Sub 

Poznámka: Premenná „k“ sa tu začína od 1, takže na prvej hodnote k sa rovná 1. Kdekoľvek „k“ je rovné 1.

Krok 5:

Teraz uzavrite slučku zadaním slova „LOOP“.

kód:

 Sub Do_While_Loop_Example1 () Dim k tak dlho, kým k <= 10 buniek (k, 1). Hodnota = k Koniec slučky Sub Sub 

Dobre, skončili sme. Pre lepšie porozumenie nechajte tento kód testovať jeden po druhom stlačením klávesu F8.

Najprv stlačte kláves F8, zvýrazní sa názov makra žltou farbou.

Teraz ešte raz stlačte kláves F8, že skočí na Do while Loop. Umiestnite kurzor na „k“ a zistite, čo je hodnota.

K = 0. Dôvod, prečo sa „k“ rovná nule, pretože tu sa nezačne vykonávať slučka. Stlačte F8 ešte raz a zistite, čo je hodnota.

Hodnota „k“ je napriek tomu nula. Ok, urobme teraz jednu vec, zastavme chod makra a hodnotu „k“ priradíme ako 1 pred začatím slučky.

Teraz vo vnútri slučky priraďte hodnotu k ako k = k +1.

Teraz spustite proces vykonávania kódového riadku po riadku stlačením klávesu F8. Keď sa spustí slučka „Do while“, stlačte kláves F8 a zistite, aká je hodnota.

kód:

 Sub Do_While_Loop_Example1 () 

Dim k As Long

k = 1

Vykonajte, zatiaľ čo k <= 10
Bunky (k, 1). Hodnota = k
k = k + 1

slučka

End Sub

Hodnota „k“ sa teda rovná 1. Kdekoľvek „k“ je rovná hodnote 1. Čiara kódu Cells (k, 1). Hodnota = k sa rovná:

Hodnota buniek (1, 1). Hodnota = 1 tj hodnota Riadok 1 a Stĺpec 1 (bunka A1) sa rovná 1.

Stlačte kláves F8 a vykonajte akciu vo vnútri slučky.

Teraz sa pozrite na hodnotu v bunke A1.

Takže sme dostali hodnotu 1 v bunke A1.

Teraz vykonajte ďalší riadok stlačením klávesu F8 a zistite, aká je hodnota „k“.

Takže teraz je hodnota k rovná 2. Takže kdekoľvek je k, rovná sa 2.

Stlačením klávesu F8 sa teraz kód vráti na testovanie hodnoty k.

Teraz stlačte ešte dvakrát tlačidlo F8 a zistite, aká je hodnota v bunke A2.

Takto to urobí, zatiaľ čo slučka stále vykonáva úlohu vkladania sériových čísel, kým hodnota k nedosiahne 11. Teraz už vykonávam riadok po riadku, kým hodnota k nebude 10.

Ak teraz stlačím ešte raz kláves F8, vráti sa na test stavu, ale nevykoná riadok kódu, pretože hodnota k je teraz viac ako 10.

Ak stlačím kláves F8, okamžite opustíme slučku a prejde na End Sub.

Konečný výstup je uvedený nasledovne.

Rovnako ako táto VBA slučka Do while môže byť použitá na vykonávanie rovnakej sady úloh, kým daná podmienka nie je PRAVDA.

Čo je potrebné pamätať

  • VBA Do while Loop vykonáva úlohu, kým podmienka nie je PRAVDA.
  • Môžeme tiež testovať stav na začiatku slučky alebo tiež na konci slučky.
  • Pohybová podmienka je FALSE, opustí slučku a nevykoná úlohu.

Odporúčané články

Toto bol sprievodca VBA Do while Loop. Tu sme diskutovali o tom, ako používať Excel VBA Do while Loop spolu s niekoľkými praktickými príkladmi a stiahnuteľnou vynikajúcou šablónou. Môžete si tiež prečítať naše ďalšie navrhované články -

  1. Ako používať funkciu FIND v Exceli?
  2. Metódy použitia funkcie VBA v programe Excel
  3. Spôsoby použitia funkcie VBA v programe Excel
  4. Ako používať funkciu VBA VLOOKUP?

Kategórie: