Što je Do Do Loop u VBA Excelu?
U VBA Do Do Loop moramo definirati kriterije nakon naredbe till, što znači kada želimo da se petlja zaustavi, a krajnji izraz je sama petlja. Dakle, ako je uvjet FALSE, nastavit će izvršavati naredbu unutar petlje, ali ako je uvjet TRUE istodobno, izaći će iz naredbe Do Do.
Kao što same riječi kažu da za obavljanje nekog zadatka dok se ne postigne kriterij, Do dok se petlja ne koristi u gotovo svim programskim jezicima, u VBA također ponekad koristimo Do till petlju. Do Do Loop znači učiniti nešto dok uvjet ne postane ISTINA. To je poput logičke funkcije koja radi na temelju TRUE ili FALSE.

To je suprotno petlji Do While u kojoj Do while izvodi petlje sve dok je uvjet TRUE.
Sintaksa
Petlja Do Do ima dvije vrste sintakse.
Sintaksa br. 1
Izvršite dok se (uvjet) (Izvršite neki zadatak) ne ponovite
Sintaksa br. 2
Izvršiti (Izvršiti neki zadatak) petlju do (uvjet)
Obje izgledaju vrlo slično, a postoji i jedna jednostavna diferencijacija.
U prvoj sintaksi petlja "Do Do" prvo provjerava stanje i dobiva rezultat stanja TRUE ili FALSE. Ako je uvjet FALSE, izvršit će kôd i izvršiti zadani zadatak, a ako je uvjet TRUE, tada će izaći iz petlje.
U drugoj sintaksi, petlja "Do", prvo će izvršiti zadatak koda, a zatim testira je li uvjet TRUE ili FALSE. Ako je uvjet FALSE, vratit će se opet i izvršiti isti zadatak. Ako je uvjet ISTINA, tada će odmah izaći iz petlje.
Primjer
Znam da nije tako lako razumjeti bilo što iz teorijskog dijela, ali nema razloga za brigu. Dati ćemo vam jednostavne primjere za razumijevanje petlje. Nastavi čitati. Da započnemo s učenjem, obavimo zadatak umetanja prvih 10 serijskih brojeva iz ćelije A1 do A10.
Slijedite korake u nastavku da biste primijenili petlju "Do Do".
Korak 1: Prvo stvorite ime makronaredbe za pokretanje potprocedure.
Kodirati:
Sub Do_Until_Example1 () Kraj Sub

Korak 2: Definirajte varijablu kao "Long". Definirao sam "x" kao dugački tip podataka.
Dim x dokle god

Korak 3: Sada unesite riječ "Do Do".
Učinite do

Korak 4: Nakon pokretanja imena petlje, unesite uvjet kao "x = 11".
Radite dok x = 11

x = 11 je logički test koji smo primijenili. Dakle, ovaj redak govori da treba pokretati petlju dok x nije jednako 11.
Korak 5: Primijenite svojstvo CELLS i umetnimo serijske brojeve od 1 do 10.
Stanice (x, 1) .Vrijednost = x

Napomena: Ovdje smo spomenuli da "x" počinje od 1, tako da je u početku vrijednost x jednaka 1. Gdje god je "x", jednako je 1.
Korak 6: Sada zatvorite petlju unošenjem riječi "LOOP".
Sub Do_Until_Example1 () Dim x Koliko dugo dok x = 11 ćelija (x, 1) .Vrijednost = x Loop
Kraj pod

Ok, gotovi smo s dijelom kodiranja, sada ćemo testirati kodove redak po redak kako bismo bolje razumjeli petlju.
Da biste pokrenuli kôd po redak, prvo pritisnite tipku F8.

Prvo će označiti naziv makronaredba žutom bojom.

Kad vidite žutu liniju, piše da se to neće izvršiti ako se izvrši ako još jednom pritisnete tipku F8.
Sada još jednom pritisnite tipku F8, žuta linija će ići na Do Do Loop.

Sada da biste razumjeli petlju, postavite kursor na varijablu "x" i pogledajte vrijednost varijable "x".

Dakle, x = 0. Budući da je istaknuta crta prvi redak u petlji, pa je vrijednost "x" jednaka nuli, pa pritisnite tipku F8 još jednom i pogledajte vrijednost "x". Prije tog izlaska kôd je pokrenut i dodijelite vrijednost "x" kao 1.

Sada ponovno pokrenite pokretanje petlje pritiskom na tipku F8. Pogledajte vrijednost "x".

Sada se vrijednost "x" prikazuje kao 1. Da bismo imali inkrementalnu vrijednost varijabli "x", moramo dodijeliti vrijednost varijable "x" kao x = x + 1 unutar petlje.

Sada pritisnite tipku F8 još jednom i trebali bismo dobiti vrijednost 1 u ćeliji A1.

Sada pritisnite tipku F8 još jednom i pogledajte kolika je vrijednost "x".

Vrijednost varijable "x" sada je 2. Dakle, naš uvjet kaže da izvodimo petlju dok uvjet ne postane ISTINA, tako da naša petlja nastavlja raditi dok vrijednost "x" ne postane 11.
Pritisnite F8 još jednom. Vratit će se na liniju petlje "Do Do".

Pritisnite tipku F8 još dva puta i dobit ćemo vrijednost 2 u ćeliji A2.

Ponovno pritisnite tipku F8 i vrijednost "x" sada postaje 3.

Ponovno pritisnite tipku F8, ponovno će se vratiti u petlju.

Tako će i ova petlja nastaviti izvršavati zadatak sve dok vrijednost "x" ne postane 11. Sada sam izvršio petlju dok vrijednost "x" ne postane 11.

Ako pritisnem F8, vratit će se na petlju.

Ali ako sada pritisnem tipku F8, ona će izaći iz petlje jer primijenjeni uvjet postaje "TRUE", tj. X = 11.

Dakle, sada u Excel listu imamo serijske brojeve od 1 do 10.

Dakle, ovo je osnovna ideja petlje "Do Do". Da biste razumjeli bilo koje petlje, morate pokretati kôd redak po redak dok ne steknete potpuno znanje o petljama.