Excel VBA teha, kui silmus

Tee, samal ajal kui loop tähendab midagi teha, kui seisund on TÕELIS. See on nagu loogiline funktsioon, mis töötab tõesel või valel alusel. Nii et kui tingimus on TRUE, täidab see avaldust silmus, kuid kui tingimus on FALSE, väljub see käsust Do While. VBA Do While Loopi töö on näidatud allpool toodud joonisel.

VBA Excelis käitamise süntaks Sünk

Tee, kuigi Loopil on Excel VBA-s kahte tüüpi süntaksit.

Mõlemad näevad välja väga sarnased ja neis on üks lihtne eristamine.

Esimeses süntaksis kontrollib ahel kõigepealt tingimust ja annab tingimuse tulemuseks TRUE või FALSE. Kui tingimus on TRUE, siis see käivitab koodi ja täidab määratud toimingu ning kui tingimus on FALSE, siis väljub see silmusest.

Teises süntaasis käivitab "Do" silmus kõigepealt koodi ja seejärel kontrollib, kas tingimus on TRUE või FALSE. Kui tingimus on TRUE, läheb see uuesti tagasi ja täidab sama ülesannet. Kui tingimus on VABA, siis väljub see kohe silmusest.

Näide Exceli VBA-st Do Do Loop

Kui te pole teooria osas midagi aru saanud, siis pole muret. Selgitan teile lihtsat näidete komplekti, et saada selle ahela kohta õiglased teadmised.

Selle VBA-vormingus Tehke, kui Loop Exceli malli saate alla laadida siit - VBA-vormingu Tehke Loop Exceli mall

Nüüd täidame ülesande sisestada esimesed 10 seerianumbrit lahtrist A1 kuni A10. Järgige alltoodud samme, et rakendada silmust „Tee samal ajal”.

Samm 1:

Esmalt looge makro nimi.

Kood:

 Sub Do_While_Loop_Example1 () Lõpp Sub 

2. samm:

Määratlege muutuja kui „pikk”. Olen määratlenud “k” pika andmetüübina.

Kood:

 Sub Do_While_Loop_Example1 () Dim k Nagu pikk ots Sub 

3. samm:

Sisestage nüüd sõna “Do While”. Ja pärast silmuse nime alustamist sisestage tingimus kui "k <= 10".

Kood:

 Sub Do_While_Loop_Example1 () Tühjenda k nii kaua, kui k <= 10 

4. samm:

Nüüd võimaldab CELLS-i vara kasutamine seerianumbreid sisestada.

Kood:

 Sub Do_While_Loop_Example1 () Tühjendage k nii kaua, kui k <= 10 lahtrit (k, 1) .Väärtus = k End Sub 

Märkus. Siin algab muutuja „k” 1-st, nii et alguses on k väärtus võrdne 1. Kus k on, võrdub 1.

5. samm:

Nüüd sulgege silmus, sisestades sõna “LOOP”.

Kood:

 Sub Do_While_Loop_Example1 () Tühjendage k nii kaua, kui k <= 10 lahtrit (k, 1) .Value = k Loop End Sub 

Ok, oleme valmis. Parema mõistmise huvides laseme seda koodi ükshaaval testida, vajutades üks kord F8 nuppu.

Esmalt vajutage klahvi F8, see tõstab makro nime esile kollase värviga.

Vajutades veel kord F8-klahvi, hüppab see nuppu Do Do Loop. Paigutage kursor k-le ja vaadake, milline on väärtus.

Niisiis, K = 0. Põhjus, miks “k” on nüüd võrdne nulliga, kuna siin ei alustata silmuse täitmist. Vajutage veel kord F8 ja vaadake, mis väärtus on.

Sellegipoolest on k väärtus null. Ok, teeme nüüd ühe asja, lõpetage makro käitamine ja määrake k väärtuseks 1 enne silmuse algust.

Nüüd määrake silmuse sees k väärtus k = k +1.

Nüüd alustage koodirea täitmist protsesside kaupa, vajutades klahvi F8. Alustage klahvi F8 vajutamist ja vaadake, mis väärtus see on, kui see käivitab ahela „Tee samas”.

Kood:

 Alam Do_While_Loop_Example1 () 

Dim k nii kaua

k = 1

Teha, kui k <= 10
Lahtrid (k, 1) .Väärtus = k
k = k + 1

Silmus

Lõpu alam

Nii et „k” väärtus on võrdne 1. Kus kus „k” on, on võrdne väärtusega 1. Seega on koodide lahtrite rida (k, 1). Väärtus = k on võrdne:

Lahtrid (1, 1) .Väärtus = 1, st 1. rea ja 1. veeru (A1 lahter) väärtus on võrdne 1-ga.

Vajutage klahvi F8 ja tehke toiming ahelas.

Vaadake nüüd lahtri A1 väärtust.

Nii et lahtris A1 saime väärtuse 1.

Nüüd käivitage järgmine rida, vajutades klahvi F8 ja vaadake, mis on k väärtus.

Nüüd on k väärtus võrdne 2. Nii et kus iganes k on, võrdub 2.

Vajutage klahvi F8, nüüd naaseb kood k väärtuse testimiseks.

Nüüd vajutage veel kaks korda klahvi F8 ja vaadake, mis väärtus on lahtris A2.

Nagu see toimib, teeb Loop järjekorranumbrite sisestamise ülesande täitmise seni, kuni k väärtus jõuab 11. Nüüd olen ma juba rida-realt täitnud, kuni k väärtus on 10.

Kui ma vajutan veel kord F8-klahvi, naaseb see tingimust uuesti, kuid ei käivita koodirida, kuna k väärtus on nüüd üle 10.

Kui ma vajutan klahvi F8, väljub see kohe silmusest ja läheb End Sub-i.

Lõplik väljund on esitatud järgmiselt.

Nagu seda VBA funktsiooni Do Kuigi Loop saab kasutada samade toimingute komplekti täitmiseks, kuni antud tingimus on TRUE.

Asjad, mida meeles pidada

  • VBA tehke, kuni silmus täidab ülesannet, kuni seisund on TÕELINE.
  • Samuti võime seisundit testida silmuse alguses või ka silmuse lõpus.
  • Liikumise tingimus on FALSE, see väljub silmusest ja ei täida seda ülesannet.

Soovitatavad artiklid

See on juhend VBA-le Do Do Loop. Siin arutasime, kuidas kasutada programmi Excel VBA Do While Loop koos mõne praktilise näite ja allalaaditava excelimalliga. Võite vaadata ka meie teisi soovitatud artikleid -

  1. Kuidas kasutada FIND-funktsiooni Excelis?
  2. VBA funktsiooni kasutamise meetodid Excelis
  3. VBA funktsiooni kasutamise viisid Excelis
  4. Kuidas kasutada VBA VLOOKUP funktsiooni?

Kategooria: