Excel VBA gör medan slingan

Do While Loop betyder att göra något medan villkoret är SANT. Det är som en logisk funktion som fungerar baserat på SANT eller FALSE. Så om villkoret är SANT kommer det att fortsätta att utföra uttalandet inuti slingan men om villkoret är FALSE genast kommer det att lämna Do While-uttalandet. Arbetet med VBA Do While Loop visas i figuren nedan.

Syntax av Do While Loop i VBA Excel

Do While Loop har två typer av syntax i Excel VBA.

Båda ser väldigt lika ut och det finns en enkel differentiering i dem.

I den första syntaxen "Do While" -slinga kontrollerar först villkoret och ger tillståndsresultatet som SANT eller FALSE. Om villkoret är SANT kommer det att köra koden och utföra en specificerad uppgift och om villkoret är FALSE kommer det att lämna slingan.

I den andra syntaxen "Do" -slinga körs först koden och sedan testar den om villkoret är SANT eller FALSE. Om villkoret är SANT kommer det igen att utföra samma uppgift. Om villkoret är FALSE kommer det direkt bort från öglan.

Exempel på Excel VBA Do While Loop

Om du inte har förstått något i teorin är det inget att oroa sig för. Jag kommer att förklara för dig den enkla uppsättningen av exempel för att ha en god kunskap om denna slinga.

Du kan ladda ner denna VBA Do While Loop Excel-mall här - VBA Do While Loop Excel-mall

Nu kommer vi att utföra uppgiften att infoga de första 10 serienumren från cell A1 till A10. Följ stegen nedan för att applicera “Do While” -slingan.

Steg 1:

Skapa ett makronamn först.

Koda:

 Sub Do_While_Loop_Example1 () End Sub 

Steg 2:

Definiera en variabel som "Lång". Jag har definierat “k” som lång datatyp.

Koda:

 Sub Do_While_Loop_Example1 () Dim k As Long End Sub 

Steg 3:

Ange nu ordet "Do While". Och efter start av slingnamnet anger du villkoret som "k <= 10".

Koda:

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

Steg 4:

Genom att använda egenskapen CELLS kan du infoga serienummer.

Koda:

 Sub Do_While_Loop_Example1 () Dim k Så länge gör medan k <= 10 celler (k, 1) .Value = k End Sub 

Obs! Här börjar variabeln "k" från 1, så vid första k-värdet är lika med 1. Var "k" är där är lika med 1.

Steg 5:

Stäng nu slingan genom att skriva in ordet “LOOP”.

Koda:

 Sub Do_While_Loop_Example1 () Dim k så länge gör medan k <= 10 celler (k, 1) .Value = k Loop End Sub 

Okej, vi är klara. För bättre förståelse kan vi testa den här koden en efter en genom att trycka på F8-tangenten en gång.

Tryck först på F8-tangenten, den markerar makronamnet efter gul färg.

Nu en gång till trycker du på F8-knappen för att hoppa till Do While Loop. Placera markören på “k” och se vad värdet är.

Så, K = 0. Anledningen till att "k" är lika med noll nu eftersom slingan inte startas här. Tryck på F8 en gång till och se vad värdet är.

Fortfarande är "k" -värdet noll. Okej, låt oss göra en sak nu, stoppa körningen av makro och tilldela värdet "k" som 1 innan slingan startar.

Nu inuti slingan tilldelar du k-värdet som k = k +1.

Starta nu processen för att köra raden för rad genom att trycka på F8-tangenten. Börja trycka på F8 och se vad värdet är när det kör loopen "Do While".

Koda:

 Sub Do_While_Loop_Example1 () 

Dim k så länge

k = 1

Gör medan k <= 10
Celler (k, 1). Värde = k
k = k + 1

Slinga

Avsluta under

Så “k” -värdet är lika med 1. Varhelst “k” är finns det lika med värdet på 1. Så raden med kodceller (k, 1). Värde = k är lika med:

Celler (1, 1). Värde = 1 dvs. rad 1 & kolumn 1 (A1-cell) -värdet är lika med 1.

Tryck på F8-tangenten och utför åtgärden inuti slingan.

Titta nu på värdet i cell A1.

Så vi fick värdet 1 i cell A1.

Kör nu nästa rad genom att trycka på F8-tangenten och se vad värdet på “k” är.

Så nu är k-värdet lika med 2. Så varhelst k är är det lika med 2.

Tryck på F8-tangenten, nu kommer koden tillbaka för att testa värdet på k.

Tryck nu ytterligare två gånger på F8-tangenten och se vad värdet är i cell A2.

Så här gör medan Loop fortsätter att utföra uppgiften att infoga serienummer tills värdet på k når 11. Nu har jag redan kört rad för rad tills k-värdet blir 10.

Nu om jag trycker på en gång till F8-tangenten kommer den att gå tillbaka för att testa villkoret men kommer inte att köra raden för k eftersom värdet är mer än 10 nu.

Om jag trycker på F8-tangenten kommer den direkt ut ur slingan och går till End Sub.

Den slutliga utgången ges enligt följande.

Som den här VBA kan Do While Loop användas för att utföra samma uppsättning uppgifter tills det givna villkoret är SANT.

Saker att komma ihåg

  • VBA gör medan Loop kör uppgiften tills villkoret är SANT.
  • Vi kan också testa tillståndet i början av slingan eller också i slutet av slingan.
  • Rörelsevillkoret är FALSE, det kommer att lämna slingan och kommer inte att utföra uppgiften.

Rekommenderade artiklar

Detta har varit en guide till VBA Do While Loop. Här diskuterade vi hur du använder Excel VBA Do While Loop tillsammans med några praktiska exempel och nedladdningsbar Excel-mall. Du kan också gå igenom våra andra föreslagna artiklar -

  1. Hur använder jag FIND-funktion i Excel?
  2. Metoder för att använda VBA-funktion i Excel
  3. Sätt att använda VBA-funktion i Excel
  4. Hur använder jag VBA VLOOKUP-funktion?

Kategori: