Excel VBA Do While Loop

Do While Loop betyr å gjøre noe mens tilstanden er SANN. Det er som en logisk funksjon som fungerer basert på SANN eller FALSE. Så hvis tilstanden er SANN, vil den fortsette å utføre setningen i løkken, men hvis tilstanden er FALSE med en gang, vil den avslutte Do While-setningen. Arbeidet med VBA Do While Loop er vist i figuren gitt nedenfor.

Syntaks for Do While Loop i VBA Excel

Do While Loop har to typer syntaks i Excel VBA.

Begge ser veldig like ut, og det er en enkel differensiering i dem.

I den første syntaksen “Do While” -sløyfen kontrollerer tilstanden først og gir tilstanden resultatet som SANN eller FALSE. Hvis betingelsen er SANN, vil den utføre koden og utføre en spesifisert oppgave, og hvis tilstanden er FALSE, vil den forlate sløyfen.

I den andre syntaksen “Do” -løkken vil først utføre koden, og deretter tester den om tilstanden er SANN eller FALSE. Hvis tilstanden er SANN, vil den igjen gå tilbake og utføre den samme oppgaven. Hvis tilstanden er FALSE, vil den straks gå ut av løkken.

Eksempel på Excel VBA Do While Loop

Hvis du ikke har forstått noe i teorien, er det ingenting å bekymre deg for. Jeg vil forklare deg det enkle eksemplet med eksempler for å ha god kunnskap om denne sløyfen.

Du kan laste ned denne VBA Do While Loop Excel Template her - VBA Do While Loop Excel Template

Nå skal vi utføre oppgaven med å sette inn de første 10 serienumrene fra celle A1 til A10. Følg trinnene nedenfor for å bruke “Do While” -sløyfen.

Trinn 1:

Opprett et makronavn først.

Kode:

 Sub Do_While_Loop_Example1 () Slutt Sub 

Steg 2:

Definer en variabel som "Lang". Jeg har definert “k” som lang datatype.

Kode:

 Sub Do_While_Loop_Example1 () Dim k As Long End Sub 

Trinn 3:

Skriv nå ordet “Do While”. Og etter å ha startet sløyfenavnet, angir du tilstanden som “k <= 10”.

Kode:

 Sub Do_While_Loop_Example1 () Dim k As Long Do While k <= 10 End Sub 

Trinn 4:

Nå kan du bruke CELLS-egenskapen sette inn serienumre.

Kode:

 Sub Do_While_Loop_Example1 () Dim k As Long Do While k <= 10 Cells (k, 1) .Value = k End Sub 

Merk: Her starter variabelen “k” fra 1, så ved første k verdi er lik 1. Hvor “k” er er det lik 1.

Trinn 5:

Lukk nå loopen ved å legge inn ordet “LOOP”.

Kode:

 Sub Do_While_Loop_Example1 () Dim k As Long Do While k <= 10 Cells (k, 1) .Value = k Loop End Sub 

OK, vi er ferdige. For bedre forståelse kan vi teste denne koden én etter én ved å trykke på F8-tasten en gang.

Trykk først på F8-tasten, den markerer makronavnet etter gul farge.

Nå trykker du enda en gang på F8-tasten for å hoppe til Do While Loop. Plasser markøren på “k” og se hva verdien er.

Altså, K = 0. Årsaken til at “k” er lik null nå fordi sløyfe ikke er startet å utføres her. Trykk på F8 en gang til og se hva verdien er.

Likevel er “k” verdien null. OK, la oss gjøre en ting nå, stoppe kjøringen av makroen og tilordne verdien til “k” som 1 før loopen starter.

Nå inne i løkka tilordner du k-verdien igjen som k = k +1.

Start nå prosessen med å utføre koden linje for linje ved å trykke på F8-tasten. Begynn å trykke på F8 og se hva verdien er når den kjører “Do While” -løkken.

Kode:

 Sub Do_While_Loop_Example1 () 

Dim k As Long

k = 1

Gjør mens k <= 10
Celler (k, 1). Verdi = k
k = k + 1

Løkke

Slutt sub

Så “k” -verdien er lik 1. Uansett hvor “k” er, er den lik verdien av 1. Så linjen med kode celler (k, 1). Verdi = k er lik:

Celler (1, 1). Verdi = 1 dvs. rad 1 og kolonne 1 (A1-celle) -verdien er lik 1.

Trykk på F8-tasten og utfør handling inne i løkken.

Se nå på verdien i celle A1.

Så vi fikk verdien 1 i celle A1.

Utfør nå den neste linjen ved å trykke på F8-tasten og se hva verdien av “k” er.

Så nå er k-verdien lik 2. Så uansett hvor k er er det lik 2.

Trykk på F8-tasten, nå kommer koden tilbake for å teste verdien av k.

Nå trykker du ytterligere to ganger på F8-tasten og ser hva verdien er i celle A2.

Slik gjør Gjør mens Loop fortsetter å utføre oppgaven med å sette inn serienumre til verdien til k når 11. Nå har jeg allerede utført linje for linje til k-verdien blir 10.

Hvis jeg trykker enda en gang på F8-tasten, vil den gå tilbake for å teste tilstanden, men vil ikke utføre kodelinjen fordi k-verdien er mer enn 10 nå.

Hvis jeg trykker på F8-tasten, vil den straks gå ut av løkken og gå til End Sub.

Den endelige utdata er gitt som følger.

Som denne VBA Do While Loop kan brukes til å utføre det samme settet med oppgaver til den gitte tilstanden er SANN.

Ting å huske

  • VBA Do While Loop utfører oppgaven til betingelsen er SANN.
  • Vi kan også teste tilstanden i begynnelsen av løkken eller også på slutten av løkken.
  • Bevegelsestilstanden er FALSE, den vil forlate sløyfen og vil ikke utføre oppgaven.

Anbefalte artikler

Dette har vært en guide til VBA Do While Loop. Her diskuterte vi hvordan du bruker Excel VBA Do While Loop sammen med noen praktiske eksempler og nedlastbar Excel-mal. Du kan også gå gjennom andre foreslåtte artikler -

  1. Hvordan bruke FINN-funksjon i Excel?
  2. Metoder for å bruke VBA-funksjon i Excel
  3. Måter å bruke VBA-funksjon i Excel på
  4. Hvordan bruker jeg VBA VLOOKUP-funksjon?

Kategori: