Chcete automatizovať opakujúce sa úlohy v Excel VBA? Naučte sa používať slučku Do-While na opakované vykonávanie množiny akcií, kým nie je splnená podmienka.

Slučky sú neoddeliteľnou súčasťou každého kódovacieho jazyka a množstvo opakujúcich sa úloh môžete automatizovať pomocou rôznych slučiek v závislosti od jazyka. Excel VBA sa nelíši od ostatných, pretože ponúka sériu možností opakovania, z ktorých každá slúži na iný účel.

Tieto slučky môžete použiť definovaním počiatočného a koncového bodu, podmienky (podmienok) a parametrov. Jednou takouto prominentnou slučkou v rámci VBA je slučka do-while, ktorú môžete použiť na prácu s automatizáciou údajov. Tu je návod, ako používať slučku do-while programu Excel VBA, vždy nevyhnutnú metodiku opakovania, ktorá môže do značnej miery zjednodušiť vaše manuálne úlohy.

Čo je to slučka Do-While v Exceli VBA?

Cyklus do-while je celkom jednoduchý; túto slučku môžete použiť na vytváranie ponúk, ak chcete generovať požadovaný výstup na základe konkrétnej podmienky. Cyklus sa vykonáva, kým definovaná podmienka (podmienky) nie je pravdivá. Keď program narazí na hodnotu False, cyklus sa ukončí a vytlačí výsledky do určených buniek.

instagram viewer

Cyklus do-while môžete použiť v rôznych fázach as rôznymi kritériami; dokonca môžete použiť viacero slučiek vo vnútri hlavnej vonkajšej slučky, aby ste zvýšili jej využitie. Ako začiatočník by ste sa mali odvolávať na prepracovanosť Kurzy programovania VBA rozšíriť svoje znalosti a zručnosti v tejto oblasti.

Syntax Do-While Loop v Exceli VBA

Cyklus do-while má preddefinovanú štruktúru, ktorú musíte dodržiavať, aby ste zaistili, že bude fungovať hladko bez chýb. Tu je syntax pre referenciu:

Dozatiaľ čo [condition_reference]

[Vyhlásenia kritérií]

Slučka

Cyklus začína kľúčovým slovom do-while, za ktorým nasledujú počiatočné a koncové odkazy. Prvá časť syntaxe riadi celý cyklus. Ďalej musíte definovať príkazy, ktoré sa vykonajú pri každom spustení cyklu.

Nakoniec, keď podmienka slučky nadobudne hodnotu False, kľúčové slovo slučky sa vykoná a opustí slučku. Toto je celková štruktúra; môžete ho upraviť, aby ste mohli vykonávať rôzne akcie. Tu je niekoľko príkladov na oboznámenie sa s fungovaním cyklu do-while.

Napísanie vášho prvého kódu slučky „Do-While“.

Predpokladajme, že chcete zobraziť násobky dvoch v stĺpci A. Podmienkou je tlačiť čísla, kým počítadlo nedosiahne 20.

Ak to chcete urobiť, prejdite na kartu Vývojár v programe Excel a otvorte editor kódovania; prípadne stlačte Alt + F11 na priame otvorenie editora kódovania. V okne editora kódu kliknite na Vložiť kartu a pridajte nový modul.

V tomto okne modulu musíte napísať celý kód. Do modulu pridajte nasledujúci kód:

Sub dowhileloop()

Dim a Ako Celé číslo

a = 1

DoZatiaľ čo a <= 10

Bunky (a, 1) = 2 * a

a = a + 1

Slučka

Koniec Sub

Kódex vysvetlil

Tu je rozpis kódu, ktorý vám pomôže zvládnuť základy:

  • Použiť podprogram: Ak chcete začať písať kód v Excel VBA, vytvorte vonkajší plášť s funkciou podprogramu (Sub). Dajte mu zmysluplný názov, ktorý rezonuje s účelom kódu. V tomto príklade môžete použiť názov dowhileloop, za ktorým nasleduje ().
  • Definujte dátové typy: Na deklaráciu dátových typov premenných sa musí použiť funkcia dimenzie (dim). Deklarovaním typu údajov môžete zefektívniť svoj kód a zvýšiť rýchlosť vykonávania. V tomto prípade premenná a ukladá celočíselné hodnoty, takže na jeho definovanie použite celočíselný dátový typ. Do tejto premennej môžete uložiť počiatočné číslo riadku, aby ste deklarovali počiatočný údajový bod vašej slučky do-while.
  • Definujte podmienku (y): Teraz je čas prejsť podmienku na ovládanie cyklu do-while. Môžete použiť robiť, kým kľúčové slová, za ktorými nasleduje podmienka. Keďže chcete cyklus spustiť desaťkrát, použijete podmienku a < = 10.
  • Odovzdajte spustiteľné príkazy: Je dôležité, aby ste poznali rozdiel medzi Funkcia buniek a funkcia Rozsah vo VBA. Funkcia buniek používa odkazy na riadky a stĺpce vo VBA. Napríklad počas prvej iterácie, keď je hodnota a =1, vzorec bunky je (1,1). V pamäti VBA to znamená bunku A1. Zakaždým, keď sa cyklus vykoná, hodnota definovanej premennej sa zvýši a odkaz sa presunie na ďalšiu dostupnú bunku.
  • Zvýšte svoju premennú: Môžete prejsť a = a + 1 príkaz na zvýšenie hodnôt buniek. Toto presunie slučku do ďalšej časti podmienky; cyklus pokračuje, kým podmienka nezíska hodnotu False.
  • Ukončite stav slučky: Keď je podmienka False, cyklus sa ukončí s kľúčovým slovom Loop a nakoniec opustí podprogram s kľúčovým slovom End Sub.
  • Vykonávanie kódexu: Keďže je kód pripravený, jednoducho stlačte tlačidlo kláves F5 alebo zeleným tlačidlom prehrávania na hornom paneli ponuky spustite kód.

Konečný výsledok zobrazuje zoznam čísel od 2 do 20 v stĺpci A.

Použitie vopred vyplneného stĺpca ako podmienky slučky

Teraz, keď ste pochopili syntax a nuansy vytvárania základnej štruktúry, prečo nenapísať ďalší kód na tlač podobných čísel na základe už existujúcich kritérií? Môžete napríklad vytvoriť podmienku slučky, ktorá vyberie svoj signál zo stĺpca A a vytlačí výstup v stĺpci B.

Na základe celkového počtu vyplnených buniek v stĺpci A môžete vytlačiť násobky dvoch v stĺpci B. Slučka spúšťa celkový počet vopred vyplnených buniek v stĺpci A. Keďže počiatočná hodnota riadka je jedna (a = 1), koncová hodnota je dynamická a automaticky sa vypočítava pomocou cyklu do-while.

Pomocou hodnoty riadka kód prechádza cez každú bunku v stĺpci A a vynásobí číslo 2. Výstup je uvedený v stĺpci B.

Ak je v stĺpci A viac ako desať hodnôt, cyklus bude bežať, kým nenarazí na prázdnu hodnotu v prvom stĺpci. Podobne môžete napísať ešte zložitejšie podmienky v rámci cyklu do-while a použiť ho na kontrolu podmienok a zobrazenie výstupu podľa potreby.

Použitie príkazu IF v rámci cyklu „Do-While“.

Podobne ako vnorené slučky môžete použiť príkaz IF v rámci slučky Do-While na pridanie ďalšej vrstvy podmienky. V takom prípade cyklus do-while spustí celý cyklus, kým podmienka nie je False, a vnútorný príkaz IF sa vykoná vždy, keď sa cyklus spustí.

V nižšie uvedenom príklade slučka do-while cyklicky prechádza každou bunkou v stĺpci A, až kým nenarazí na prázdnu bunku. Následne príkaz IF skontroluje hodnotu každej bunky v stĺpci A a vytlačí výstup v stĺpci B. Hneď ako vonkajšia slučka narazí na prázdnu bunku v stĺpci A, slučka sa zastaví a opustí podprogram.

Výstup je nasledovný:

Kým hodnota v stĺpci A nie je menšia ako päť, výsledná hodnota v stĺpci B je päť. V A6, keďže hodnota bunky je väčšia ako päť, výsledný výstup je sedem, čo je synchronizované s podmienkou IF.

Odhalenie mnohostranných funkcií VBA

Excel a VBA tvoria veľmi priaznivú kombináciu na vykonávanie pokročilej analýzy údajov. Dokonca aj bez VBA môžete používať rôzne logické funkcie Excelu na vykonávanie zložitých úloh, ktoré sú príkladom vašich programátorských zručností.

Ak máte záujem o analýzu údajov a používate Excel vo svojich bežných činnostiach, môžete využiť mnohostranné logické funkcie Excelu.