Vil du automatisere gentagne opgaver i Excel VBA? Lær, hvordan du bruger Do-While-løkken til at udføre et sæt handlinger gentagne gange, indtil en betingelse er opfyldt.
Loops er en integreret del af ethvert kodningssprog, og du kan automatisere masser af gentagne opgaver ved at bruge en række loops, afhængigt af det aktuelle sprog. Excels VBA er ikke forskellig fra de andre, da den tilbyder en række looping-muligheder, der hver tjener et andet formål.
Du kan bruge disse sløjfer ved at definere start- og slutpunkter, betingelse(r) og parametre. En sådan fremtrædende loop inden for VBA er do-while loop, som du kan bruge til at arbejde med dataautomatisering. Sådan bruger du Excel VBA's do-while loop, en altid essentiel looping-metodologi, som i høj grad kan forenkle dine manuelle opgaver.
Hvad er Do-While Loop i Excel VBA?
Do-while-løkken er ret ligetil; du kan bruge denne sløjfe til at lave dit bud, hvis du ønsker at generere et ønsket output i forhold til en specifik tilstand. Sløjfen udføres indtil den eller de definerede betingelse(r) er Sand. Når programmet støder på en falsk værdi, afsluttes løkken og udskriver resultaterne i de udpegede celler.
Du kan bruge do-while loop i forskellige stadier og med forskellige kriterier; du kan endda bruge flere løkker inde i den ydre hovedløkke for at forbedre brugen. Som nybegynder bør du henvise til uddybende VBA programmering tutorials for at fremme din viden og færdigheder inden for dette domæne.
Do-While Loops syntaks i Excel VBA
Do-while-løkken har en foruddefineret struktur, som du skal følge for at sikre, at den fungerer gnidningsløst uden at pådrage sig fejl. Her er syntaksen til reference:
Gørmens [tilstandsreference]
[Kriteriaerklæringer]
Løkke
Sløjfen begynder med nøgleordet do-while, efterfulgt af start- og slutreferencerne. Den første del af syntaksen styrer hele sløjfen. Dernæst skal du definere de sætninger, der skal udføres hver gang løkken kører.
Til sidst, når sløjfebetingelsen pådrager sig en falsk værdi, eksekveres nøgleordet løkke og afslutter løkken. Dette er en overordnet struktur; du kan forfine det til at udføre forskellige handlinger. Her er nogle eksempler for at gøre dig bekendt med, hvordan en do-while-løkke fungerer.
At skrive din første Do-While Loop-kode
Antag, at du vil vise multipla af to i kolonne A. Betingelsen er at udskrive tallene, indtil tælleren når 20.
For at gøre det skal du navigere til fanen Udvikler på din Excel og åbne kodningseditoren; alternativt tryk på Alt + F11 for at åbne kodningseditoren direkte. I koderedigeringsvinduet skal du klikke på Indsæt fanen og tilføje et nyt modul.
Du skal skrive al koden i dette modulvindue. Tilføj følgende kode inde i modulet:
Sub dowhileloop()
Dim a Som Heltal
a = 1
GørMens a <= 10
Celler (a, 1) = 2 * a
a = a + 1
Løkke
Ende Sub
Koden forklaret
Her er en oversigt over koden for at hjælpe dig med at mestre det grundlæggende:
- Brug underrutine: For at begynde at skrive koden i Excel VBA skal du oprette en ydre skal med en underrutinefunktion (Sub). Giv det et meningsfuldt navn, som stemmer overens med formålet med koden. I dette eksempel kan du bruge navnet dowhileloop efterfulgt af ().
- Definer datatyper: Dimensionsfunktionen (dæmpet) skal bruges til at erklære de variable datatyper. Ved at deklarere datatypen kan du gøre din kode effektiv og forbedre eksekveringshastigheden. I dette tilfælde variablen -en gemmer heltalsværdier, så brug heltalsdatatypen til at definere den. Du kan gemme startrækkenummeret i denne variabel for at erklære startdatapunktet for din do-while loop.
- Definer tilstand(er): Nu er det tid til at bestå betingelsen for at kontrollere do-while-løkken. Du kan bruge gøre imens søgeord efterfulgt af betingelsen. Da du vil køre løkken ti gange, bruger du betingelsen a < = 10.
- Bestå de eksekverbare erklæringer: Det er vigtigt for dig at kende forskellen mellem Celler-funktionen og Range-funktionen i VBA. Cellefunktionen bruger række- og kolonnereferencerne i VBA. For eksempel, under den første iteration, når værdien af a =1, er celleformlen (1,1). I VBA's hukommelse oversættes dette til celle A1. Hver gang løkken udføres, stiger værdien af den definerede variabel, og referencen flyttes til den næste tilgængelige celle.
- Forøg din variabel: Du kan bestå a = a + 1 sætning for at øge celleværdierne. Dette flytter løkken til den næste del af betingelsen; løkken fortsætter med at køre, indtil betingelsen pådrager sig en falsk værdi.
- Afslut sløjfetilstanden: Når betingelsen er falsk, afsluttes løkken med nøgleordet Loop, og til sidst afsluttes underrutinen med nøgleordet End Sub.
- Udførelse af koden: Da koden er klar, skal du blot trykke på F5 nøgle eller den grønne afspilningsknap på den øverste menulinje for at udføre koden.
Det endelige resultat viser en liste over tal fra 2-20 i kolonne A.
Brug af en præ-populeret kolonne som sløjfetilstand
Nu hvor du har forstået syntaksen og nuancerne ved at konstruere en grundlæggende struktur, hvorfor så ikke skrive en anden kode for at udskrive lignende tal baseret på allerede eksisterende kriterier? For eksempel kan du oprette en loop-betingelse, der henter sin cue fra kolonne A og udskriver output i kolonne B.
Baseret på det samlede antal udfyldte celler i kolonne A kan du udskrive multipla af to i kolonne B. Sløjfen kører basiskolonne A's samlede antal præ-udfyldte celler. Da startrækkeværdien er én (a =1), er slutværdien dynamisk og beregnes automatisk af do-while-løkken.
Ved at bruge dens rækkeværdi går koden gennem hver celle i kolonne A og multiplicerer tallet med 2. Outputtet er vist i kolonne B.
Hvis der er mere end ti værdier i kolonne A, vil løkken køre, indtil den støder på en tom værdi i den første kolonne. På samme måde kan du skrive endnu mere komplekse betingelser i do-while-løkken og bruge den til at kontrollere betingelser og vise output efter behov.
Brug af en IF-erklæring inden for en Do-While-løkke
Ligesom indlejrede løkker kan du bruge IF-sætningen i Do-While-løkken til at tilføje endnu et lag af betingelse. I et sådant tilfælde kører do-while-løkken hele løkken, indtil betingelsen er False, og den indre IF-sætning udføres hver gang løkken kører.
I nedenstående eksempel går do-while-løkken gennem hver celle i kolonne A, indtil den støder på en tom celle. Efterfølgende kontrollerer IF-sætningen værdien af hver celle i kolonne A og udskriver output i kolonne B. Så snart den ydre løkke støder på en tom celle i kolonne A, stopper løkken og forlader underrutinen.
Udgangen er som følger:
Indtil værdien i kolonne A er mindre end lig med fem, er den resulterende værdi i kolonne B fem. I A6, da celleværdien er større end fem, er det resulterende output syv, hvilket er synkroniseret med IF-tilstanden.
Optrævling af VBA's multi-facetterede funktioner
Excel og VBA danner en meget befordrende kombination til at udføre avanceret dataanalyse. Selv uden VBA kan du bruge forskellige logiske Excel-funktioner til at udføre komplicerede opgaver, hvilket eksemplificerer dine programmeringsevner.
Hvis du er interesseret i dataanalyse og bruger Excel i dine almindelige aktiviteter, kan du få stor gavn af at bruge Excels mangefacetterede logiske funktioner.