Loops


Loops

VBA, samt andre programmeringsspråk, tilbyr sløyfer. Looping er en operasjon av å gjenta den samme kodeblokken flere ganger. Excel tilbyr noen typer looper, hver best i ulike situasjoner.


For Neste Loop

Dette er den vanligste typen av en loop. I FOR loop, angir du verdien hvor sløyfe starter og hvor den er ferdig. Koden mellom FOR og neste setning blir gjentatt. Se på følgende eksempel


Eksempel 1:.
For verdi = 0 For å 5MsgBox (verdi) Neste verdi

​​I eksempelet ovenfor, vil MsgBox
vindu vise meldingen 6 ganger, viser tall:. 0, 1, 2, 3, 4, 5.

I tillegg kan du hoppe over noen verdier ved hjelp av Step verdi


Eksempel 2 :
For verdi = 0 til 5 Trinn 2MsgBox (verdi) Neste verdi

​​Denne gangen MsgBox
vinduet viser tall: 0, 2, 4. Fordi sløyfe teller til fem vant ’ t komme til nummer 6.


Eksempel 3:

I følgende eksempel, har vi matrisen med de fire navnene på filmene. Dette VBA-koden vil vise hvert navn inne i MsgBox
vinduet.
Dim filmer (1 til 4) som Stringmovies (1) = "Matrix" -filmene (2) = "Ringenes Herre" -filmene ( 3) = "Star Wars" -filmene (4) = "The Shawshank Redemption" For Count = 1 Til 4MsgBox (filmer (Count)) Neste Count

I neste leksjon skal jeg presentere deg lignende eksempel med FOR. .EACH..NEXT loop.


For Hver Neste Loop

I Excel VBA, kan du bruke FOR..EACH..NEXT loop. Det looper gjennom hvert objekt i en samling. Det kan være innsamling av regneark eller en samling av elementer i en matrise, som presentert i vårt eksempel nedenfor.
Dim filmer (1 til 4) som StringDim filmen Som Variantmovies (1) = "Matrix" -filmene (2) = "Ringenes herre" filmer (3) = "Star Wars" -filmene (4) = "The Shawshank Redemption" for hver film I moviesMsgBox (film) Neste movieCAUTION

Du kan ikke erklære filmen variabel i FOR ..EACH..NEXT sløyfe som String. Det må alltid bli erklært som Variant.


Do Mens Loop

I motsetning til FOR loop, doesn &rsquo den DO..WHILE sløyfe; t har spesifisert: start- og sluttverdi, istedenfor den går så lenge betingelsen er sann

Se på følgende eksempel:


Eksempel 4:.
Dim teller Som Integercounter = 0Do Mens telleren < 5MsgBox (counter) teller = teller + 1Loop

I dette eksempel sjekker Excel den første verdi, som er 0. betingelsen er oppfylt, slik at iterasjon av sløyfen blir utført. viser MsgBox
vindu verdien 0. De neste verdier som også oppfyller vilkåret er 0, 1, 2, 3, 4. Når teller = 5
da tilstanden ikke er oppfylt, og loopen opphører.


gjøre før Loop

DO..UNTIL sløyfe er svært lik den DO..WHILE loop. Forskjellen mellom disse to sløyfer er at i DO..WHILE sløyfen koden kjøres så lenge som betingelsen er sann og i DO..UNTIL sløyfen er det utført så lenge som betingelsen er usann.


Eksempel 5:
Dim teller Som Integercounter = 0Do Inntil teller = 5MsgBox (counter) teller = teller + 1Loop

MsgBox
vil vise: 0, 1 , 2, 3, 4. Når teller = 5 og tilstanden er oppfylt og løkken avsluttes.



Next Page: