Vil du automatisere repeterende oppgaver i Excel VBA? Lær hvordan du bruker Do-While-løkken til å utføre et sett med handlinger gjentatte ganger til en betingelse er oppfylt.

Loops er en integrert del av ethvert kodespråk, og du kan automatisere mange repeterende oppgaver ved å bruke en rekke looper, avhengig av språket du har. Excels VBA er ikke forskjellig fra de andre, siden den tilbyr en rekke looping-alternativer, som hver tjener et annet formål.

Du kan bruke disse løkkene ved å definere start- og sluttpunkt, betingelse(r) og parametere. En slik fremtredende loop i VBA er do-while loop, som du kan bruke til å jobbe med dataautomatisering. Slik bruker du Excel VBAs do-while loop, en stadig viktig looping-metodikk, som kan forenkle de manuelle oppgavene dine i stor grad.

Hva er Do-While Loop i Excel VBA?

Do-while-løkken er ganske grei; du kan bruke denne sløyfen til å gjøre budene dine hvis du ønsker å generere en ønsket utgang basert på en spesifikk tilstand. Sløyfen kjøres til de definerte betingelsene er sanne. Når programmet møter en falsk verdi, avsluttes løkken og skriver ut resultatene i de angitte cellene.

instagram viewer

Du kan bruke do-while-løkken i ulike stadier og med ulike kriterier; du kan til og med bruke flere løkker inne i den ytre hovedløkken for å forbedre bruken. Som nybegynner bør du henvise til forseggjort VBA-programmeringsveiledninger for å fremme dine kunnskaper og ferdigheter innen dette domenet.

Do-While Loops syntaks i Excel VBA

Do-while-løkken har en forhåndsdefinert struktur, som du må følge for å sikre at den fungerer jevnt uten å pådra seg feil. Her er syntaksen for referanse:

Gjøresamtidig som [tilstandsreferanse]

[Kriteriaerklæringer]

Løkke

Løkken begynner med nøkkelordet do-while, etterfulgt av start- og sluttreferansene. Den første delen av syntaksen styrer hele loopen. Deretter må du definere setningene som skal utføres hver gang loopen kjører.

Til slutt, når løkkebetingelsen pådrar seg en falsk verdi, kjører løkkenøkkelordet og går ut av løkken. Dette er en overordnet struktur; du kan avgrense den for å utføre forskjellige handlinger. Her er noen eksempler for å gjøre deg kjent med hvordan en do-while-løkke fungerer.

Skrive din første Do-While Loop-kode

Anta at du vil vise multiplene av to i kolonne A. Betingelsen er å skrive ut tallene til telleren når 20.

For å gjøre det, naviger til Utvikler-fanen på Excel og åpne kodingsredigering; alternativt trykk Alt + F11 for å åpne koderedigeringsprogrammet direkte. Klikk på i koderedigeringsvinduet Sett inn og legg til en ny modul.

Du må skrive all koden i dette modulvinduet. Legg til følgende kode inne i modulen:

Sub dowhileloop()

Dim a Som Heltall

a = 1

GjøreSamtidig som a <= 10

Celler (a, 1) = 2 * a

a = a + 1

Løkke

Slutt Under

Koden forklart

Her er en oversikt over koden for å hjelpe deg med å mestre det grunnleggende:

  • Bruk underrutine: For å begynne å skrive koden i Excel VBA, lag et ytre skall med en underrutinefunksjon (Sub). Gi det et meningsfylt navn, som stemmer overens med formålet med koden. I dette eksemplet kan du bruke navnet dowhileloop, etterfulgt av ().
  • Definer datatyper: Dimensjonsfunksjonen (dim) må brukes for å deklarere variabeldatatypene. Ved å deklarere datatypen kan du gjøre koden din effektiv og forbedre utførelseshastigheten. I dette tilfellet er variabelen en lagrer heltallsverdier, så bruk heltallsdatatypen for å definere den. Du kan lagre startradnummeret i denne variabelen for å deklarere startdatapunktet til do-while-løkken.
  • Definer tilstand(er): Nå er det på tide å passere betingelsen for å kontrollere do-while-løkken. Du kan bruke gjør mens nøkkelord, etterfulgt av betingelsen. Siden du vil kjøre loopen ti ganger, bruker du betingelsen a < = 10.
  • Send de kjørbare erklæringene: Det er viktig for deg å vite forskjellen mellom Celler-funksjonen og Range-funksjonen i VBA. Cellefunksjonen bruker rad- og kolonnereferansene i VBA. For eksempel, under den første iterasjonen, når verdien til a =1, er celleformelen (1,1). I VBAs minne oversettes dette til celle A1. Hver gang løkken kjøres, øker verdien til den definerte variabelen, og referansen flyttes til neste tilgjengelige celle.
  • Øk variabelen din: Du kan bestå a = a + 1 uttalelse for å øke celleverdiene. Dette flytter løkken til neste del av tilstanden; løkken fortsetter å kjøre til tilstanden pådrar seg en falsk verdi.
  • Gå ut av sløyfetilstanden: Når betingelsen er falsk, avsluttes løkken med nøkkelordet Loop, og til slutt går den ut av underrutinen med nøkkelordet End Sub.
  • Utførelse av koden: Siden koden er klar, trykk ganske enkelt på F5 nøkkel eller den grønne avspillingsknappen på den øverste menylinjen for å utføre koden.

Det endelige resultatet viser en liste over tall fra 2-20 i kolonne A.

Bruke en forhåndsfylt kolonne som sløyfetilstand

Nå som du har forstått syntaksen og nyansene ved å konstruere en grunnleggende struktur, hvorfor ikke skrive en annen kode for å skrive ut lignende tall basert på forhåndseksisterende kriterier? Du kan for eksempel lage en sløyfebetingelse som plukker signalet fra kolonne A og skriver ut resultatet i kolonne B.

Basert på det totale antallet fylte cellene i kolonne A, kan du skrive ut multipler av to i kolonne B. Sløyfen kjører basiskolonne As totale antall forhåndsutfylte celler. Siden startradverdien er én (a =1), er sluttverdien dynamisk og beregnes automatisk av do-while-løkken.

Ved å bruke radverdien går koden gjennom hver celle i kolonne A og multipliserer tallet med 2. Utgangen er vist i kolonne B.

Hvis det er mer enn ti verdier i kolonne A, vil løkken kjøre til den møter en tom verdi i den første kolonnen. På samme måte kan du skrive enda mer komplekse forhold i do-while-løkken og bruke den til å sjekke forholdene og vise utdata etter behov.

Bruke en IF-erklæring innenfor en Do-While-løkke

Som nestede løkker, kan du bruke IF-setningen i Do-While-løkken for å legge til et nytt lag med tilstand. I et slikt tilfelle kjører do-while-løkken hele loopen til betingelsen er False, og den indre IF-setningen kjøres hver gang loopen kjøres.

I eksemplet nedenfor går do-while-løkken gjennom hver celle i kolonne A, til den møter en tom celle. Deretter sjekker IF-setningen verdien til hver celle i kolonne A og skriver ut utdataene i kolonne B. Så snart den ytre sløyfen møter en tom celle i kolonne A, stopper sløyfen og går ut av underrutinen.

Utgangen er som følger:

Inntil verdien i kolonne A er mindre enn lik fem, er den resulterende verdien i kolonne B fem. I A6, siden celleverdien er større enn fem, er den resulterende utgangen syv, som er synkronisert med IF-tilstanden.

Avdekke VBAs mangefasetterte funksjoner

Excel og VBA danner en svært gunstig kombinasjon for å utføre avansert dataanalyse. Selv uten VBA kan du bruke ulike logiske Excel-funksjoner til å utføre kompliserte oppgaver, som eksemplifiserer dine programmeringsferdigheter.

Hvis du er interessert i dataanalyse og bruker Excel i dine vanlige aktiviteter, kan du ha stor nytte av å bruke Excels mangefasetterte logiske funksjoner.