Norite automatizuoti pasikartojančias užduotis programoje „Excel VBA“? Sužinokite, kaip naudoti „Do-While“ kilpą pakartotinai atlikti veiksmų rinkinį, kol bus įvykdyta sąlyga.

Ciklos yra neatsiejama bet kurios kodavimo kalbos dalis, todėl galite automatizuoti daugybę pasikartojančių užduočių naudodami įvairias kilpas, priklausomai nuo turimos kalbos. „Excel“ VBA niekuo nesiskiria nuo kitų, nes ji siūlo daugybę kilpų parinkčių, kurių kiekviena atlieka skirtingą paskirtį.

Galite naudoti šias kilpas apibrėždami pradžios ir pabaigos taškus, sąlygą (-as) ir parametrus. Viena iš tokių ryškių VBA kilpų yra „do-while“ ciklas, kurį galite naudoti dirbdami su duomenų automatizavimu. Štai kaip naudoti „Excel VBA“ „do-while“ ciklą – nuolatinę ciklo metodiką, kuri gali labai supaprastinti rankines užduotis.

Kas yra „Do-While“ ciklas „Excel VBA“?

„Do-while“ kilpa yra gana paprasta; galite naudoti šią kilpą siūlydami kainas, jei norite sukurti norimą išvestį pagal konkrečią sąlygą. Ciklas vykdomas tol, kol apibrėžta sąlyga (-os) yra True. Kai programa aptinka klaidingą reikšmę, ciklas baigiasi ir išspausdinami rezultatai nurodytose ląstelėse.

instagram viewer

Galite naudoti do-while kilpą įvairiais etapais ir skirtingais kriterijais; Jūs netgi galite naudoti kelias kilpas pagrindinės išorinės kilpos viduje, kad pagerintumėte jos naudojimą. Kaip pradedantysis, turėtumėte kreiptis į išsamų VBA programavimo pamokos tobulinti savo žinias ir įgūdžius šioje srityje.

„Do-While Loop“ sintaksė programoje „Excel VBA“.

Ciklas „do-while“ turi iš anksto nustatytą struktūrą, kurios reikia laikytis, kad užtikrintumėte, jog ji veikia sklandžiai ir nepatiria klaidų. Štai sintaksė nuorodai:

Darykkol [sąlygos_nuoroda]

[Kriterijaus teiginiai]

Kilpa

Ciklas prasideda raktiniu žodžiu do-while, po kurio eina pradžios ir pabaigos nuorodos. Pirmoji sintaksės dalis valdo visą kilpą. Tada turite apibrėžti teiginius, kurie bus vykdomi kiekvieną kartą paleidus kilpą.

Galiausiai, kai ciklo sąlyga įgauna klaidingą reikšmę, ciklo raktinis žodis vykdomas ir išeina iš ciklo. Tai bendra struktūra; galite patobulinti, kad atliktumėte įvairius veiksmus. Štai keli pavyzdžiai, kaip susipažinti su „do-while“ ciklo veikimu.

Pirmojo „Do-While“ ciklo kodo rašymas

Tarkime, kad A stulpelyje norite rodyti dviejų kartotinius. Sąlyga yra spausdinti skaičius, kol skaitiklis pasieks 20.

Norėdami tai padaryti, eikite į „Excel“ skirtuką Kūrėjas ir atidarykite kodavimo rengyklę; arba paspauskite Alt + F11 Norėdami tiesiogiai atidaryti kodavimo rengyklę. Kodo rengyklės lange spustelėkite Įdėti skirtuką ir pridėkite naują modulį.

Šiame modulio lange turite parašyti visą kodą. Modulio viduje pridėkite šį kodą:

Sub dowhileloop ()

Pritemdytas a Kaip Sveikasis skaičius

a = 1

DarykNors a <= 10

Ląstelės (a, 1) = 2 * a

a = a + 1

Kilpa

Galas Sub

Kodeksas paaiškintas

Pateikiame kodo suskirstymą, kuris padės įsisavinti pagrindus:

  • Naudokite paprogramę: Norėdami pradėti rašyti kodą programoje „Excel VBA“, sukurkite išorinį apvalkalą su papildoma funkcija (Sub). Suteikite jam prasmingą pavadinimą, atitinkantį kodo paskirtį. Šiame pavyzdyje galite naudoti pavadinimą dowhileloop, po kurio yra ().
  • Apibrėžkite duomenų tipus: Dimensijos (dim) funkcija turi būti naudojama kintamųjų duomenų tipams deklaruoti. Deklaruodami duomenų tipą galite padaryti kodą veiksmingą ir pagerinti vykdymo greitį. Šiuo atveju kintamasis a saugo sveikųjų skaičių reikšmes, todėl jį apibrėžti naudokite sveikųjų skaičių duomenų tipą. Šiame kintamajame galite išsaugoti pradinės eilutės numerį, kad deklaruotumėte savo do-while ciklo pradžios duomenų tašką.
  • Apibrėžkite sąlygą (-as): Dabar laikas įvykdyti sąlygą, kad būtų galima valdyti „do-while“ kilpą. Galite naudoti daryti kol raktinius žodžius, po kurių nurodoma sąlyga. Kadangi norite paleisti kilpą dešimt kartų, naudojate sąlygą a < = 10.
  • Perduokite vykdomuosius pareiškimus: Svarbu žinoti skirtumą tarp Ląstelių funkcija ir diapazono funkcija VBA. Ląstelių funkcija naudoja VBA eilučių ir stulpelių nuorodas. Pavyzdžiui, per pirmą iteraciją, kai a reikšmė =1, langelio formulė yra (1,1). VBA atmintyje tai reiškia ląstelę A1. Kiekvieną kartą, kai ciklas vykdomas, apibrėžto kintamojo reikšmė didėja, o nuoroda persikelia į kitą galimą langelį.
  • Padidinkite savo kintamąjį: Gali praeiti a = a + 1 sakinį, kad padidintumėte langelių reikšmes. Tai perkelia kilpą į kitą sąlygos dalį; ciklas tęsiasi tol, kol sąlyga įgauna klaidingą reikšmę.
  • Išeikite iš ciklo sąlygos: Kai sąlyga yra klaidinga, ciklas išeina su ciklo raktiniu žodžiu ir galiausiai iš paprogramės su raktiniu žodžiu End Sub.
  • Kodo vykdymas: Kadangi kodas paruoštas, tiesiog paspauskite F5 klavišas arba žalią paleidimo mygtuką viršutinėje meniu juostoje, kad paleistumėte kodą.

Galutinis rezultatas rodo skaičių nuo 2 iki 20 A stulpelyje.

Iš anksto užpildyto stulpelio naudojimas kaip ciklo sąlygos

Dabar, kai supratote pagrindinės struktūros kūrimo sintaksę ir niuansus, kodėl neparašius kito kodo, kad būtų galima spausdinti panašius skaičius pagal iš anksto nustatytus kriterijus? Pavyzdžiui, galite sukurti ciklo sąlygą, kuri parenka signalą iš A stulpelio ir išspausdina išvestį B stulpelyje.

Atsižvelgiant į bendrą užpildytų langelių skaičių A stulpelyje, B stulpelyje galite spausdinti dviejų kartotinius. Ciklas veikia pagal bendrą A stulpelio iš anksto užpildytų langelių skaičių. Kadangi pradinės eilutės reikšmė yra viena (a = 1), pabaigos reikšmė yra dinamiška ir automatiškai apskaičiuojama naudojant „do-while“ kilpą.

Naudodamas eilutės reikšmę, kodas pereina kiekvieną A stulpelio langelį ir skaičių padaugina iš 2. Išvestis rodoma B stulpelyje.

Jei A stulpelyje yra daugiau nei dešimt reikšmių, ciklas vyks tol, kol pirmame stulpelyje bus tuščia reikšmė. Panašiai galite įrašyti dar sudėtingesnes sąlygas „do-why“ cikle ir naudoti ją sąlygoms patikrinti ir prireikus rodyti išvestį.

IF teiginio naudojimas „Do-While“ cikle

Kaip ir įdėtosios kilpos, kilpoje Do-While galite naudoti teiginį IF, kad pridėtumėte kitą sąlygos sluoksnį. Tokiu atveju ciklas do-while vykdo visą ciklą, kol sąlyga yra False, o vidinis IF sakinys vykdomas kiekvieną kartą, kai ciklas vykdomas.

Toliau pateiktame pavyzdyje „do-while“ ciklas juda per kiekvieną A stulpelio langelį, kol susiduria su tuščiu langeliu. Vėliau IF sakinys patikrina kiekvieno A stulpelio langelio reikšmę ir išspausdina išvestį B stulpelyje. Kai tik išorinė kilpa susiduria su tuščiu langeliu A stulpelyje, ciklas sustoja ir išeina iš paprogramės.

Išvestis yra tokia:

Kol A stulpelio reikšmė yra mažesnė nei penki, gauta vertė B stulpelyje yra penki. A6, kadangi langelio reikšmė yra didesnė nei penki, gaunama išvestis yra septyni, tai yra sinchronizuojama su IF sąlyga.

Išskleiskite įvairiapuses VBA funkcijas

„Excel“ ir VBA sudaro labai palankų derinį išplėstinei duomenų analizei atlikti. Net ir be VBA galite naudoti įvairias „Excel“ logines funkcijas sudėtingoms užduotims atlikti, o tai rodo savo programavimo įgūdžius.

Jei domitės duomenų analize ir naudojate „Excel“ savo įprastoje veikloje, gausite didžiulės naudos iš daugialypių „Excel“ loginių funkcijų.