Excel VBA Tee silmukka

Tee, kun silmukka tarkoittaa, että tehdään jotain, kun ehto on Tosi. Se on kuin looginen toiminto, joka toimii TOSI tai VÄÄRIN-pohjalta. Joten jos ehto on Tosi, se jatkaa lausunnon suorittamista silmukan sisällä, mutta jos ehto on Väärä, se poistuu do-käskystä. VBA Do While Loop: n toiminta on esitetty alla olevassa kuvassa.

Syntaksi Tee silmukka VBA Excel -sovelluksessa

Tee, kun taas Loopilla on kahta tyyppistä syntaksia Excel VBA: ssa.

Molemmat näyttävät hyvin samanlaisilta ja niissä on yksi yksinkertainen erottelu.

Ensimmäisessä syntaksissa ”Do While” -silmukka tarkistaa ensin ehdon ja antaa ehtotuloksena TOSI tai FALSE. Jos ehto on Tosi, se suorittaa koodin ja suorittaa määritetyn tehtävän ja jos ehto on Väärä, se poistuu silmukasta.

Toisessa syntaksissa “Do” -silmukka suorittaa ensin koodin ja testaa sitten, onko ehto Tosi tai Väärä. Jos ehto on Tosi, se palaa takaisin ja suorittaa saman tehtävän. Jos ehto on Väärä, se poistuu heti silmukasta.

Esimerkki Excel VBA -sovelluksesta

Jos et ole ymmärtänyt mitään teoriaosasta, ei hätää. Selitän sinulle yksinkertaisen esimerkkisarjan saadaksesi oikeudenmukaisen tiedon tästä silmukasta.

Voit ladata tämän VBA-toimintoa käyttäessäsi Excel-mallia täältä - VBA: n suorittaessaan Excel-mallin

Nyt suoritamme tehtävän lisätä 10 ensimmäistä sarjanumeroa solusta A1 A10: een. Noudata alla olevia vaiheita soveltaaksesi Do Do -silmukkaa.

Vaihe 1:

Luo ensin makronimi.

Koodi:

 Sub Do_While_Loop_Example1 () End Sub 

Vaihe 2:

Määritä muuttuja nimellä ”pitkä”. Olen määritellyt ”k” pitkäksi tietotyypiksi.

Koodi:

 Sub Do_While_Loop_Example1 () Himmennä k kuin pitkä pää Sub 

Vaihe 3:

Kirjoita nyt sana ”Tee kun”. Ja silmukan nimen aloittamisen jälkeen kirjoita tilaksi ”k <= 10”.

Koodi:

 Sub Do_While_Loop_Example1 () Himmennä k niin kauan kun k <= 10 End Sub 

Vaihe 4:

Nyt CELLS-ominaisuuden avulla voidaan lisätä sarjanumeroita.

Koodi:

 Sub Do_While_Loop_Example1 () himmentää k niin kauan kun k <= 10 solua (k, 1) .Value = k End Sub 

Huomaa: Tässä muuttuja “k” alkaa yhdestä, joten aluksi k-arvo on yhtä kuin 1. Jos “k” on, yhtä suuri kuin 1.

Vaihe 5:

Sulje nyt silmukka kirjoittamalla sana “LOOP”.

Koodi:

 Sub Do_While_Loop_Example1 () himmentää k niin kauan kun k <= 10 solua (k, 1) .Value = k Loop End Sub 

Ok, olemme valmis. Ymmärtääksesi paremmin, testaa tämä koodi yksi kerrallaan painamalla F8-näppäintä kerran.

Paina ensin F8-näppäintä, se korostaa makron nimen keltaisella värillä.

Nyt vielä kerran F8-näppäin palaa, kun se siirtyy kohtaan Loo silmukka. Aseta kohdistin kohtaan “k” ja katso, mikä arvo on.

Joten, K = 0. Syy, miksi “k” on nyt nolla, koska silmukkaa ei aloiteta suorittaa täällä. Paina F8-näppäintä vielä kerran ja katso, mikä arvo on.

Silti “k” -arvo on nolla. Ok, tehdään yksi asia nyt, lopetetaan makron suorittaminen ja määritetään “k” arvoksi 1 ennen silmukan alkamista.

Nyt silmukan sisällä asetetaan k-arvo uudelleen arvoksi k = k +1.

Aloita nyt koodirivin suorittaminen riviltä painamalla F8-näppäintä. Aloita F8-painikkeen painaminen ja katso, mikä arvo on, kun se suorittaa ”Tee kun” -silmukan.

Koodi:

 Ali Do_While_Loop_Example1 () 

Dim k niin kauan

k = 1

Tee, kun k <= 10
Solut (k, 1) .Arvo = k
k = k + 1

silmukka

End Sub

Joten “k” -arvo on yhtä kuin 1. Missä ”k” on, on yhtä suuri kuin arvo 1. Joten koodisolujen rivi (k, 1). Arvo = k on yhtä suuri kuin:

Solut (1, 1) .Arvo = 1 eli rivin 1 ja sarakkeen 1 (A1-solu) arvo on yhtä suuri kuin 1.

Paina F8-näppäintä ja suorita toimenpide silmukan sisällä.

Katso nyt arvoa solussa A1.

Joten saimme arvon 1 solussa A1.

Suorita seuraava rivi painamalla F8-näppäintä ja katso mikä on “k” -arvo.

Joten nyt k-arvo on yhtä kuin 2. Joten missä k on, on yhtä suuri kuin 2.

Paina F8-näppäintä. Nyt koodi palaa k-arvon testaamiseen.

Paina nyt vielä kaksi kertaa F8-näppäintä ja katso mikä arvo on solussa A2.

Kuten tämä, Tee, kun taas Loop jatkaa sarjanumeroiden lisäämistä, kunnes k: n arvo saavuttaa 11. Nyt olen jo suorittanut rivi riviltä, ​​kunnes k-arvoksi tulee 10.

Nyt jos painan vielä kerran F8-näppäintä, se palaa takaisin testiin, mutta ei suorita koodiriviä, koska k-arvo on nyt yli 10.

Jos painan F8-näppäintä, se poistuu heti silmukasta ja menee End Sub -kohtaan.

Lopullinen tulos annetaan seuraavasti.

Kuten tämä VBA Do While Loop -sovellus, voidaan käyttää suorittamaan samat tehtävät, kunnes annettu ehto on Tosi.

Muistettavat asiat

  • VBA Tee, kun silmukka suorittaa tehtävän, kunnes ehto on Tosi.
  • Voimme myös testata tilan silmukan alussa tai myös silmukan lopussa.
  • Liikeolosuhteissa on FALSE, se poistuu silmukasta eikä suorita tehtävää.

Suositellut artikkelit

Tämä on opas VBA: n Do As Loop -sivulle. Tässä keskustelimme siitä, miten Excel VBA Do While Loop -sovellusta voidaan käyttää, sekä joitain käytännöllisiä esimerkkejä ja ladattavaa Excel-mallia. Voit myös käydä läpi muiden ehdottamiemme artikkeleidemme -

  1. Kuinka käyttää FIND-toimintoa Excelissä?
  2. Menetelmät VBA-toiminnon käyttämiseksi Excelissä
  3. Tapoja käyttää VBA-toimintoa Excelissä
  4. Kuinka käyttää VBA VLOOKUP -toimintoa?

Luokka: