Excel VBA Faceți în Buclă

Fă în timp ce Loop înseamnă să faci ceva în timp ce condiția este ADEVĂRAT. Este ca o funcție logică care funcționează pe baza TRUE sau FALSE. Deci, dacă condiția este TRUE, va continua să execute instrucțiunea în buclă, dar dacă condiția este FALSE imediat, va ieși din instrucțiunea Do while. Funcționarea VBA Do while Loop este prezentată în figura de mai jos.

Sintaxa de a face în timp ce bucla în VBA Excel

În timp ce Loop are două tipuri de sintaxă în Excel VBA.

Ambele arată foarte asemănătoare și există o simplă diferențiere în ele.

În prima sintaxă bucla „Fă în timp ce” verifică mai întâi condiția și dă rezultatul condiției ca TRUE sau FALSE. Dacă condiția este TRUE, va executa codul și va efectua o sarcină specificată, iar dacă condiția este FALSE, atunci va ieși din buclă.

În a doua sintaxă "Do" bucla va executa mai întâi codul și apoi testează dacă starea este TRUE sau FALSE. Dacă starea este ADEVĂRAT, va reveni din nou și va efectua aceeași sarcină. Dacă starea este FALSE, atunci va ieși imediat din buclă.

Exemplu de Excel VBA Faceți în Buclă

Dacă nu ai înțeles nimic din teorie, nimic nu-ți face griji. Vă voi explica setul simplu de exemple pentru a avea cunoștințe corecte despre această buclă.

Puteți descărca acest șablon Excel VBA Do while Loop aici - Șablonul VBA Do while Loop Excel

Acum vom îndeplini sarcina de a insera primele 10 numere de serie de la celula A1 la A10. Urmați pașii de mai jos pentru a aplica bucla „Faceți în timp”.

Pasul 1:

Creați mai întâi un nume macro.

Cod:

 Sub Do_While_Loop_Exemple1 () End Sub 

Pasul 2:

Definiți o variabilă ca „lungă”. Am definit „k” ca tip de date lung.

Cod:

 Sub Do_While_Loop_Example1 () Dim k Ca lung sfârșit Sub 

Pasul 3:

Introduceți acum cuvântul „Faceți în timp”. Și după pornirea numelui buclei introduceți condiția ca „k <= 10”.

Cod:

 Sub Do_While_Loop_Example1 () Dim k Cât timp face în timp ce k <= 10 End Sub 

Pasul 4:

Acum, folosind proprietatea CELLS, puteți introduce numere de serie.

Cod:

 Sub Do_While_Loop_Exemple1 () Dim k Cât timp se face în timp ce k <= 10 celule (k, 1) .Value = k End Sub 

Notă: Aici variabila „k” începe de la 1, deci la început k valoarea este egală cu 1. Oriunde „k” este egal cu 1.

Pasul 5:

Acum închideți bucla introducând cuvântul „LOOP”.

Cod:

 Sub Do_While_Loop_Example1 () Dim k Cât timp se face în timp ce k <= 10 celule (k, 1). Valoare = k Buclă finală Sub 

Ok, am terminat. Pentru o mai bună înțelegere, testăm acest cod unul câte unul apăsând o dată tasta F8.

Apăsați mai întâi tasta F8, aceasta va evidenția numele macro prin culoarea galbenă.

Acum, încă o dată, apăsați tasta F8, va trece la funcționarea În timp ce este buclă. Puneți cursorul pe „k” și vedeți care este valoarea.

Deci, K = 0. Motivul pentru care „k” este egal cu zero acum, deoarece bucla nu a început să fie executată aici. Apăsați F8 încă o dată și vedeți care este valoarea.

Totuși, valoarea „k” este zero. Ok, hai să facem un lucru acum, oprim funcționarea macro și atribuim valoarea „k” ca 1 înainte de a începe bucla.

Acum, în interiorul buclei reasignați valoarea k ca k = k +1.

Acum începe procesul de execuție a liniei de cod cu linie apăsând tasta F8. Începeți să apăsați F8 și să vedeți care este valoarea atunci când execută bucla „Faceți în timp”.

Cod:

 Subdatație_Deci_Loop_Exemplu1 () 

Dim k As Long

k = 1

Faceți în timp ce k <= 10
Celule (k, 1) .Valor = k
k = k + 1

Buclă

Sub final

Deci valoarea „k” este egală cu 1. Oriunde „k” este acolo este egală cu valoarea de 1. Deci linia codului celulelor (k, 1). Valoarea = k este egală cu:

Celulele (1, 1). Valoare = 1 adică Rândul 1 și coloana 1 (celula A1) este egală cu 1.

Apăsați tasta F8 și executați acțiunea în interiorul buclei.

Acum, uită-te la valoarea din celula A1.

Deci am obținut valoarea 1 în celula A1.

Acum executați linia următoare apăsând tasta F8 și vedeți care este valoarea „k”.

Deci, acum k valoarea este egală cu 2. Deci, oriunde k este acolo este egal cu 2.

Apăsați tasta F8, acum codul va reveni pentru a testa valoarea k.

Acum apăsați încă două ori tasta F8 și vedeți care este valoarea în celula A2.

Ca acest lucru, în timp ce Loop continuă să execute sarcina de a insera numere de serie până când valoarea k atinge 11. Acum am executat linie după linie până când valoarea k devine 10.

Acum, dacă mai apăs încă o dată tasta F8, va reveni pentru a testa starea, dar nu va executa linia de cod, deoarece valoarea k este mai mare de 10 acum.

Dacă apăs pe tasta F8, aceasta va ieși imediat din buclă și va merge la End Sub.

Rezultatul final este dat după cum urmează.

Ca acest lucru, VBA Faceți în timp ce Loop poate fi utilizat pentru a efectua același set de sarcini până când condiția dată este TRUE.

Lucruri de amintit

  • VBA Faceți în timp ce Loop execută sarcina până când starea este TRUE.
  • De asemenea, putem testa starea la începutul buclei sau la sfârșitul buclei.
  • Starea de mișcare este FALSE, aceasta va ieși din buclă și nu va îndeplini sarcina.

Articole recomandate

Acesta a fost un ghid pentru VBA Do while Loop. Aici am discutat despre cum să folosiți Excel VBA Do while Loop împreună cu câteva exemple practice și șablonul excel descărcabil. De asemenea, puteți parcurge și alte articole sugerate -

  1. Cum se utilizează funcția FIND în Excel?
  2. Metode de utilizare a funcției VBA în Excel
  3. Modalități de utilizare a funcției VBA în Excel
  4. Cum se utilizează funcția VBA VLOOKUP?

Categorie: