Excel VBA Tee kuni silmuseni

Tehke seni, kuni silmus kordab väiteid, kuni tingimus / kriteeriumid on TÕESED. See täidab avaldusi seni, kuni tingimused on VABAD. Niipea kui tingimus / kriteeriumid on TÕESED, lõpetab see ahela. Seda võib vaadelda kui vastupidist lingile Do While, kus ahel töötab seni, kuni kriteeriumid on TÕELISED, ja lõpetatakse kohe, kui kriteeriumid on VABAD.

Vaadake allolevat vooskeemi, mis selgitab Do Kuni silmuse toimimist:

Süntaks „Do Kuni Loop“ Excel VBA-s

Tehke seni, kuni Loopil on Excel VBA-s kahte tüüpi süntaksit.

1. süntaks:

 Tee kuni (tingimus) (avaldused täidetakse) Loop 

2. süntaks:

 Teha (täitmisele kuuluvad avaldused) Loop kuni (tingimus) 

Põhiline erinevus nende kahe süntaksi vahel on täitmine. Esimeses süntaksis kontrollib silmus alati, kas tingimus on tõene või vale. Kui see on vale, korratakse seda uuesti. Niipea kui tingimus / kriteeriumid on täidetud, lõpetab see ahela. Sel juhul on võimalus, et silmus lõpeb esimesel iteratsioonil ise (kui tingimus on tõene). Seega ei saa te sel juhul mingit väljundit. Teises süntaksis käivitab silmus algul avaldused ja kontrollib siis tingimust, kas see on tõene või vale. Kui tingimus on Vale, käivitab ta uuesti sama avalduste komplekti ja kontrollib tingimust. Kui esimene iteratsioon ise annab tingimuseks tõese, siis see silmus lõpeb, kuid enne seda on see käsk täidetud. Sel juhul saame vähemalt ühe iteratsiooni (nullväljundina).

Lõpuks on kahe koodi väljund sama. Kuid hukkamine erineb neist kahest.

Näide Exceli VBA-st Tee kuni silmuseni

Vaatame rakenduse Do Kuni Loop näiteid Excel VBA-s.

Selle VBA-vormingu Do Kuni Loop Exceli mall saate alla laadida siit - VBA Do Kuni Loop Exceli mall

Näide nr 1 - VBA tehke kuni silmuseni, kui tingimusi kontrollitakse alguses

Järgige allpool toodud samme, et rakendada rakenduses Excel VBA silmust Do Kuni.

1. samm . Koodi kirjutamiseks sisestage Visual Basic Editori (VBE) uus moodul.

2. samm: määratlege alamprotseduur, kuhu saab salvestada kirjutatava makrokoodi.

Kood:

 Sub Do_Until_Ex1 () End Sub 

3. samm: määratlege uus muutuja „X” andmetüübiga „Pikk”. Seda muutujat saab kasutada tingimuse / kriteeriumina jaotises Loo kuni.

Kood:

 Sub Do_Until_Ex1 () Dim X nii pikk ots Sub 

4. samm: määrake muutuja X algväärtuseks 1.

Kood:

 Sub Do_Until_Ex1 () Tühi X kui pikk X = 1 lõpp Sub 

5. samm: alustage silmust märksõnadega Tee kuni.

Kood:

 Sub Do_Until_Ex1 () Tühjendage X nii kaua, kui X = 1 tehke kuni alammenüü lõpuni 

6. samm: määrake jaotises Tee kuni kriteeriumiks X = 11. See on tingimus, mis võimaldab silmuse murda, kui see on tõene. See tähendab, et silmus töötab kuni väärtus X = 11. Niipea kui X väärtus võrdub 11-ga, siis silmus lõpeb.

Kood:

 Sub Do_Until_Ex1 () Tühjendage X nii kaua kui X = 1 Tehke kuni X = 11 End Sub 

7. samm: kasutage nüüd VBA rakke. Väärtusfunktsioon, et saaksite lisada iga numbri ruudu esimese veeru all X-ni.

Kood:

 Sub Do_Until_Ex1 () Dim X nii kaua X = 1 Tehke kuni X = 11 lahtrit (X, 1) .Väärtus = X * X End Sub 

8. samm: jällegi peame määrama sammu X-ga 1-ga, nii et iga kord, kui silmus jookseb ja kontrollib selle seisukorda, läheb see järgmisele numbrile ja salvestab selle ruudulise väärtuse vastavasse lahtrisse kuni arvuni 11.

Kood:

 Sub Do_Until_Ex1 () Dim X nii kaua X = 1 Tehke kuni X = 11 lahtrit (X, 1) .Väärtus = X * XX = X + 1 End Sub 

9. samm: täitke see toiming kuni silmus, sisestades koodi lõppu märksõna „Loop”.

Kood:

 Alam Do_Until_Ex1 () Tühi X nii kaua, kui X = 1 Tehke kuni X = 11 lahtrit (X, 1) .Väärtus = X * XX = X + 1 silmuse lõpp Alam 

Selles koodis soovisime ruutude väärtusi numbritele alates 1 kuni 11 (niipea kui väärtus on 11, ahel lõpeb). Exceli lehe iga lahtri all (kuni lahter number 11) väärtused salvestatakse. 1 ühiku suurendamine võimaldab arvu iga kord suurendada X eelmise väärtuse võrra ühe võrra ja selle numbri ruutväärtus trükitakse vastavasse lahtrisse. Näiteks trükitakse ruudu 3 väärtus aktiivse exceli lehe 3. lahtrisse. See silmus töötab seni, kuni X ei ole võrdne 11. Seetõttu saame lahtri A1 all lahtrisse A10 arvu ruutude väärtused, mis algavad 1 kuni 10 (numbri 11 silmus on lõpetatud).

10. samm: selle koodi käivitamiseks ja väljundi kuvamiseks vajutage nuppu Käivita või vajutage klahvi F5.

Näide 2 - tehke kuni silmuseni, kui tingimusi kontrollitakse silmuse lõpus

Järgige allpool toodud samme, et rakendada rakenduses Excel VBA silmust Do Kuni.

1. samm: määratlege uus alaprotseduur VBE moodulis.

Kood:

 Sub Do_Until_Ex2 () Lõpp Sub 

2. samm: määratlege muutuja „Y” andmetüübiga „Pikk”. See muutuja on kasulik tingimuste loomisel.

Kood:

 Sub Do_Until_Ex2 () Tühjenda Y kui pikk lõpp Sub 

3. samm: määrake muutuja „Y” algväärtuseks 1.

Kood:

 Sub Do_Until_Ex2 () Tühjenda Y nii kaua, kui Y = 1 Lõpp Sub 

4. samm: lisage tingimus Do, tippides järgmisel real pärast seda, kui olete Y algväärtuse seadnud 1-le.

Kood:

 Sub Do_Until_Ex2 () Tühjenda Y nii kaua, kui Y = 1 Lõpeta sub 

5. samm: lisage koodilõik, mida soovite käivitada, jaotisesse Loo. Võtame siin samasuguse näite nagu ülal (see aitab meil paremini teada saada, kuidas väljundid on samad, kuid kahes neist koodidest on kompileerimised erinevad).

Kood:

 Sub Do_Until_Ex2 () Tühjenda Y nii kaua, kui Y = 1 tehke lehte ("Näide 2"). Lahtrid (Y, 1) .Väärtus = Y * Y End Sub 

6. samm: pärast silmuse iga kordust, kui soovite, et väärtust suurendatakse 1 ühiku võrra, määrake selle jaoks käsk jaotises Do.

Kood:

 Sub Do_Until_Ex2 () Tühjendage Y nii kaua, kui Y = 1 tehke lehte ("Näide 2"). Lahtrid (Y, 1) .Väärtus = Y * YY = Y + 1 End Sub 

7. samm: lisage selle silmuse lõppsõna märksõnaga „Loop”.

Kood:

 Sub Do_Until_Ex2 () Tühjendage Y nii kaua, kui Y = 1 tehke lehte ("Näide 2"). Lahtrid (Y, 1) .Väärtus = Y * YY = Y + 1 silmuse lõpp Sub 

Oota! On veel midagi. Selle silmuse alla peate seekord lisama kriteeriumid / tingimused, seekord pärast märksõna Loop. See võimaldab kompilaatoril kontrollida silmuse lõpus olekut.

8. samm: lisage pärast silmuse märksõna võtmist tingimuseks Y = 11.

Kood:

 Sub Do_Until_Ex2 () Tühjendage Y nii kaua, kui Y = 1 tehke lehte ("Näide 2"). Lahtrid (Y, 1) .Väärtus = Y * YY = Y + 1 silmus kuni Y = 11 End Sub 

9. samm: käivitage see kood, vajutades F5 või nuppu Käivita ja vaadake võlu lehe all, mille nimi on „Näide 2”.

Kuidas see kood töötab?

Süsteem ruudutab silmuse all iga kord Y väärtuseni Y ja salvestab selle lehe teise veergu nimega “Näide 2” ridade kaupa. Pärast iga iteratsiooni suurendatakse Y praegust väärtust 1 ühiku võrra ja värskendatud väärtus ruututakse ja talletatakse. Kuni väärtus on väiksem kui kriteeriumi väärtus (Y = 11), teeb kood ruudu ja salvestab selle. Niipea kui väärtuskompilaator jõuab väärtuseni Y = 11, lõpetab see koodi täitmise ja lõpetab selle.

Mõlemad koodid annavad sarnase väljundi, kuid loogiliselt on mõlema kompileerimisel erinevus. Esimese tüüpi tüübi puhul kontrollitakse tingimust ahela alguses ja kui see on Väär, siis alles ahel hakkab järgmist avaldist hindama. Teises näites aga käivitatakse kood silmuse käivitamine ja Do-avalduste käivitamine alguses (väärtuste salvestamine puhvermällu täitmisväljavõtete jaoks). Silmuse lõpus tuleb kompilaator välja kriteerium ja kontrollib seda puhvri väärtusega.

Asjad, mida meeles pidada

  • VBA Do Kuni on täpselt Exceli VBA Do While korral vastupidine juhtum. VBA teha, kuni silmus töötab seni, kuni seisund on TÕELINE. Kui tingimus on VABA, lõpetatakse funktsioon Do While. Teisest küljest töötab VBA Do Kuni seni, kuni tingimus on VABA. Niipea, kui tingimus on tõene, siis silmus lõpetatakse.
  • Sellel on kaks toimimisviisi: üks, kus seisundit kontrollitakse ahela alguses ja teine, kus seisundit kontrollitakse ahela lõpus.

Soovitatavad artiklid

See on juhend ettevõttele VBA Do Kuni Loop. Siin arutatakse, kuidas kasutada rakendust Excel VBA Do Kuni Loop koos mõne praktilise näite ja allalaaditava excelimalliga. Võite vaadata ka meie teisi soovitatud artikleid -

  1. VBA Kuigi silmus
  2. LOOKUPi valem Excelis
  3. Täielikud õpetused VBA silmuste kohta
  4. Otsingustabel Excelis

Kategooria: