Kas soovite korduvaid ülesandeid Excel VBA-s automatiseerida? Siit saate teada, kuidas kasutada tsüklit Do-While, et sooritada toimingute komplekti korduvalt, kuni tingimus on täidetud.

Silmused on mis tahes kodeerimiskeele lahutamatu osa ja saate automatiseerida palju korduvaid ülesandeid, kasutades erinevaid silmuseid, olenevalt kasutatavast keelest. Exceli VBA ei erine teistest, kuna see pakub mitmeid silmusvalikuid, millest igaüks teenib erinevat eesmärki.

Saate neid silmuseid kasutada, määrates algus- ja lõpp-punktid, tingimus(ed) ja parameetrid. Üks selline silmapaistev tsükkel VBA-s on do-while silmus, mida saate kasutada andmete automatiseerimisega töötamiseks. Siit saate teada, kuidas kasutada Exceli VBA do-while tsüklit, mis on alati hädavajalik silmuste metoodika, mis võib teie käsitsi ülesandeid suurel määral lihtsustada.

Mis on Exceli VBA-s Do-While tsükkel?

Do-while silmus on üsna lihtne; saate seda tsüklit kasutada oma pakkumise tegemiseks, kui soovite luua soovitud väljundi konkreetse tingimuse alusel. Silmus käivitub, kuni defineeritud tingimus(ed) on Tõene. Kui programm leiab väärtuse False, tsükkel lõpeb ja prindib tulemused määratud lahtritesse.

instagram viewer

Do-while tsüklit saate kasutada erinevates etappides ja erinevate kriteeriumidega; saate isegi kasutada mitut silmust peamise välisahela sees, et selle kasutamist tõhustada. Algajana peaksite viidata üksikasjalikule VBA programmeerimise õpetused et täiendada oma teadmisi ja oskusi selles valdkonnas.

Do-While Loopi süntaks Exceli VBA-s

Do-while tsüklil on eelnevalt määratletud struktuur, mida peate järgima, et tagada selle sujuv toimimine ilma vigadeta. Siin on süntaks viitamiseks:

Teesamal ajal [seisundi_viide]

[kriteeriumite avaldused]

Loop

Tsükkel algab märksõnaga do-while, millele järgneb algus- ja lõppviide. Süntaksi esimene osa juhib kogu tsüklit. Järgmiseks peate määratlema avaldused, mida käivitatakse iga kord, kui tsükkel töötab.

Lõpuks, kui tsükli tingimusel on väärtus Väär, käivitub tsükli märksõna ja väljub tsüklist. See on üldine struktuur; saate seda erinevate toimingute tegemiseks täpsustada. Siin on mõned näited, et tutvuda do-while-tsükli tööga.

Oma esimese do-While tsüklikoodi kirjutamine

Oletame, et soovite veerus A kuvada kahe kordsed. Tingimuseks on numbrite printimine, kuni loendur jõuab 20-ni.

Selleks navigeerige oma Excelis vahekaardile Arendaja ja avage kodeerimisredaktor; teise võimalusena vajutage Alt + F11 kodeerimisredaktori otse avamiseks. Koodiredaktori aknas klõpsake nuppu Sisesta vahekaarti ja lisage uus moodul.

Peate sellesse mooduli aknasse kirjutama kogu koodi. Lisage moodulisse järgmine kood:

Sub dowhileloop()

Hämar a Nagu Täisarv

a = 1

TeeKuigi a <= 10

Rakud (a, 1) = 2 * a

a = a + 1

Loop

Lõpp Sub

Kood selgitatud

Siin on koodi jaotus, mis aitab teil põhitõdesid omandada.

  • Kasutage alamrutiini: Koodi kirjutamise alustamiseks Excel VBA-s looge alamrutiini funktsiooniga välimine kest (Sub). Andke sellele tähendusrikas nimi, mis kajastub koodi eesmärgiga. Selles näites saate kasutada nime dowhileloop, millele järgneb ().
  • Määrake andmetüübid: Muutujate andmetüüpide deklareerimiseks tuleb kasutada funktsiooni Dimensioon (dim). Andmetüübi deklareerimisega saate muuta oma koodi tõhusaks ja parandada täitmise kiirust. Sel juhul muutuja a salvestab täisarvud, seega kasutage selle määratlemiseks täisarvu andmetüüpi. Saate selle muutuja sisse salvestada algusrea numbri, et deklareerida tsükli do-while lähteandmepunkt.
  • Tingimus(t)e määratlemine: Nüüd on aeg sooritada tingimus, et juhtida do-while tsüklit. Võite kasutada tee aega märksõnad, millele järgneb tingimus. Kuna soovite tsüklit kümme korda käivitada, kasutate tingimust a < = 10.
  • Edastage käivitatavad avaldused: On oluline, et te teaksite erinevust nende vahel Lahtrite funktsioon ja vahemiku funktsioon VBA-s. Lahtrite funktsioon kasutab VBA ridade ja veergude viiteid. Näiteks esimese iteratsiooni ajal, kui väärtus a =1, on lahtri valem (1,1). VBA mälus tähendab see lahtrit A1. Iga kord, kui silmus käivitub, suureneb määratletud muutuja väärtus ja viide liigub järgmisse saadaolevasse lahtrisse.
  • Suurendage oma muutujat: Saate läbida a = a + 1 lahtri väärtuste suurendamiseks. See viib tsükli tingimuse järgmisse ossa; silmus jätkab töötamist, kuni tingimus saab väärtuse Väär.
  • Välju tingimusest Loop: kui tingimus on Väär, väljub tsükkel märksõnaga Loop ja lõpuks alamrutiinist märksõnaga End Sub.
  • Koodi täitmine: Kuna kood on valmis, vajutage lihtsalt nuppu F5 klahv või koodi käivitamiseks rohelist esitusnuppu ülemisel menüüribal.

Lõpptulemus näitab A veerus olevate numbrite loendit vahemikus 2–20.

Eelasustatud veeru kasutamine tsüklitingimusena

Nüüd, kui olete mõistnud põhistruktuuri koostamise süntaksit ja nüansse, siis miks mitte kirjutada teist koodi, et printida sarnased numbrid juba olemasolevate kriteeriumide alusel? Näiteks saate luua tsüklitingimuse, mis valib oma vihje veerust A ja prindib väljundi veerus B.

Veerus A täidetud lahtrite koguarvu põhjal saate veerus B printida kahe kordsed. Silmus käitab veeru A eeltäidetud lahtrite koguarvu alusel. Kuna algusrea väärtus on üks (a =1), on lõppväärtus dünaamiline ja arvutatakse automaatselt tsükli do-while abil.

Kasutades oma rea ​​väärtust, liigub kood läbi iga veeru A lahtri ja korrutab arvu 2-ga. Väljund on näidatud veerus B.

Kui veerus A on rohkem kui kümme väärtust, jookseb tsükkel seni, kuni esimeses veerus on tühi väärtus. Samamoodi saate do-wheel-tsüklisse kirjutada veelgi keerukamaid tingimusi ja kasutada seda tingimuste kontrollimiseks ja vajaduse korral väljundi kuvamiseks.

IF-lause kasutamine Do-While tsüklis

Sarnaselt pesastatud tsüklitele saate kasutada IF-lauset tsüklis Do-While, et lisada veel üks tingimuskiht. Sellisel juhul jookseb do-while tsükkel kogu tsüklit, kuni tingimus on Väär, ja sisemine IF-lause käivitatakse iga kord, kui silmus töötab.

Allolevas näites liigub do-while tsükkel läbi iga veeru A lahtri, kuni see kohtab tühja lahtri. Seejärel kontrollib IF-lause iga veeru A lahtri väärtust ja prindib väljundi veerus B. Niipea, kui välimine tsükkel kohtab veerus A tühja lahtrit, tsükkel peatub ja väljub alamrutiinist.

Väljund on järgmine:

Kuni väärtus veerus A on väiksem kui viis, on veerus B saadud väärtus viis. A6-s, kuna lahtri väärtus on suurem kui viis, on tulemuseks väljund seitse, mis on sünkroonis IF-tingimusega.

VBA mitmekülgsete funktsioonide lahtiharutamine

Excel ja VBA moodustavad täpsema andmeanalüüsi läbiviimiseks väga soodsa kombinatsiooni. Isegi ilma VBAta saate keerukate ülesannete täitmiseks kasutada erinevaid Exceli loogilisi funktsioone, mis on teie programmeerimisoskuste näide.

Kui olete huvitatud andmete analüüsist ja kasutate Excelit oma tavapärastes tegevustes, saate Exceli mitmekülgsete loogiliste funktsioonide kasutamisest tohutult kasu.