Excel VBA naredite, medtem ko zanke

Ali medtem ko zanka pomeni narediti nekaj, ko je pogoj TREN. Je kot logična funkcija, ki deluje na podlagi TRUE ali FALSE. Torej, če je pogoj TRUE, bo nadaljeval z izvajanjem izjave znotraj zanke, če pa je pogoj FALSE, bo izstopil iz stavka Do while. Delovanje VBA Do while Loop je prikazano na spodnji sliki.

Sintaksa Do while Loop v VBA Excel

Ali sicer Loop ima v Excelu VBA dve vrsti sintakse.

Obe sta videti zelo podobni in v njih obstaja eno preprosto razlikovanje.

V prvi sintaksi zanka "Naredite" najprej preveri stanje in poda rezultat kot TRUE ali FALSE. Če je pogoj TRUE, bo izvedel kodo in opravil določeno nalogo, če pa je pogoj FALSE, bo izstopil iz zanke.

V drugi sintaksi "Do" zanka najprej izvede kodo in nato preskusi, ali je pogoj TRUE ali FALSE. Če je pogoj TRUE, se bo spet vrnil in opravil isto nalogo. Če je pogoj LAHKO, bo takoj izstopil iz zanke.

Primer programa Excel VBA Do while Loop

Če niste ničesar razumeli v teoriji, ne skrbi. Pojasnil vam bom preprost niz primerov, da boste imeli pošteno znanje o tej zanki.

Predlogo VBA Do while Loop Excel lahko prenesete tukaj - VBA Do while Loop Excel Predloga

Zdaj bomo opravili nalogo vstaviti prvih 10 zaporednih številk od celice A1 do A10. Če želite uporabiti zanko »Naredi«, sledite spodnjim korakom.

Korak 1:

Najprej ustvarite ime makra

Koda:

 Sub Do_While_Loop_Example1 () End Sub 

2. korak:

Spremenite spremenljivko kot "Dolgo". Določil sem "k" kot dolgo vrsto podatkov.

Koda:

 Sub Do_While_Loop_Example1 () Dim k kot Dolgoročni Sub 

3. korak:

Zdaj vnesite besedo "Naredi medtem". Po zagonu imena zanke vnesite stanje kot "k <= 10".

Koda:

 Sub Do_While_Loop_Example1 () Dim k kot dolg čas, medtem ko k <= 10 konec Sub 

4. korak:

Zdaj lastnost CELLS omogoča vstavljanje serijskih številk.

Koda:

 Pod Do_While_Loop_Example1 () Dim k kot dolg čas, medtem ko k <= 10 celic (k, 1) .Value = k End Sub 

Opomba: Tu se spremenljivka "k" začne z 1, torej je sprva k vrednost enaka 1. Kjer koli je "k", je enaka 1.

5. korak:

Zdaj zaprite zanko, tako da vnesete besedo LOOP.

Koda:

 Sub Do_While_Loop_Example1 () Dim k As Long Do Medtem ko je k <= 10 celic (k, 1) .Value = k Loop End Sub 

Ok, končali smo. Za boljše razumevanje omogočimo preizkus te kode eno za drugo s pritiskom na tipko F8.

Najprej pritisnite tipko F8, označila bo ime makrona z rumeno barvo.

Zdaj še enkrat pritisnite tipko F8, da bo skočil na Do while Loop. Kazalec postavite na „k“ in poglejte, kakšna je vrednost.

Torej, K = 0. Razlog, zakaj je "k" zdaj enak nič, ker se zanka tukaj ne začne izvajati. Pritisnite F8 še enkrat in poglejte, kakšna je vrednost.

Kljub temu je vrednost „k“ enaka nič. Ok, zdaj naredimo eno stvar, ustavimo delovanje makra in dodamo vrednost „k“ kot 1, preden se zanka začne.

Zdaj znotraj zanke dodelite vrednost k kot k = k +1.

Zdaj začnite postopek izvajanja kodne vrstice po vrstici s pritiskom na tipko F8. Začnite pritiskati na F8 in poglejte, kakšna je vrednost, ko izvede zanko "Naredi".

Koda:

 Sub Do_While_Loop_Example1 () 

Dim k Kot dolgo

k = 1

Ali medtem ko je k <= 10
Celice (k, 1) .Value = k
k = k + 1

Zanka

Končni pod

Torej je vrednost „k“ enaka 1. Kjer koli je „k“, je enaka vrednosti 1. Torej, vrstica kode Celice (k, 1). Vrednost = k je enaka:

Celice (1, 1). Vrednost = 1, tj. Vrednost 1. vrstice in stolpca 1 (celica A1) je enaka 1.

Pritisnite tipko F8 in izvedite dejanje znotraj zanke.

Zdaj pa poglejte vrednost v celici A1.

Tako smo dobili vrednost 1 v celici A1.

Zdaj izvedite naslednjo vrstico s pritiskom na tipko F8 in poglejte, kakšna je vrednost "k".

Torej je zdaj k vrednost enaka 2. Torej, kjer je k enaka 2.

Pritisnite tipko F8, zdaj se bo koda vrnila in preizkusila vrednost k.

Zdaj pritisnite še dvakrat tipko F8 in poglejte, kakšna je vrednost v celici A2.

Tako kot To Do, medtem ko zanka še naprej izvaja nalogo vstavljanja serijskih številk, dokler vrednost k ne doseže 11. Zdaj sem že izvajal vrstico, dokler vrednost k ne postane 10.

Zdaj, če še enkrat pritisnem tipko F8, bom preveril stanje, vendar ne bo izvedel vrstice kode, ker je vrednost k zdaj več kot 10.

Če pritisnem tipko F8, bo takoj izstopil iz zanke in prešel v End Sub.

Končni rezultat je naveden na naslednji način.

Tako kot VBA Do while Loop je mogoče uporabiti za izvajanje istega niza nalog, dokler ni dani pogoj TRUE.

Stvari, ki jih je treba zapomniti

  • VBA naredite, medtem ko zanka izvede nalogo, dokler pogoj ni TRUE.
  • Stanje lahko preizkusimo tudi na začetku zanke ali tudi na koncu zanke.
  • Stanje gibanja je LAŽNO, bo izstopilo iz zanke in ne bo opravilo naloge.

Priporočeni članki

To je vodnik za VBA Do while Loop. Tu smo razpravljali o tem, kako uporabljati Excel VBA Do while Loop, skupaj z nekaj praktičnimi primeri in naloženo predlogo Excela. Ogledate si lahko tudi druge naše predlagane članke -

  1. Kako uporabljati FIND funkcijo v Excelu?
  2. Načini za uporabo funkcije VBA v Excelu
  3. Načini uporabe funkcije VBA v Excelu
  4. Kako uporabljati funkcijo VBA VLOOKUP?

Kategorija: