7 Eksempler på For Loops i Microsoft Excel VBA

Anonim

Hvis du skriver et VBA -program og du vil utføre den samme oppgaven flere ganger, kan du gjøre dette ved å bruke VBA for sløyfer. VBA er et sekvensielt programmeringsspråk. Hver kodelinje blir utført fra topp til bunn til det ikke er flere kodelinjer å lese. Hvis du vil gå tilbake og utføre en oppgave, må du tvinge ved å bruke makrokode. Du får resultater med loop.

For Loop i VBA er en av de vanligste sløyfetyper. For -sløyfen har to former: For neste og for hver i neste. For -løkken brukes vanligvis til å bevege seg sekvensielt gjennom en liste over elementer eller tall. For å avslutte For -løkken på et gitt tidspunkt kan vi bruke exit -setningen. For Loop vil gå rundt og rundt til den oppfyller sluttbetingelsen. Når sluttbetingelsen er oppfylt, fortsetter programmeringsflyten nedover, i sin naturlige retning.

For… Next loop har følgende syntaks: For counter = start_counter To end_counter 'Gjør noe her (koden din) Neste teller 

Vi lager faktisk en løkke som bruker variabel disk som 'tidsvakt' på løkken. Vi setter den til en verdi lik start_teller i begynnelsen av løkken og øk den deretter med 1 under hver sløyfe til den oppfyller sluttbetingelsen. Sløyfen vil kjøre til tiden verdien av disk blir lik slutt_teller. Sløyfen utføres for siste gang når begge de ovennevnte verdiene samsvarer, og deretter stopper sløyfen.

Alt det ovennevnte kan være forvirrende for noen mennesker, så la oss ruste oss og begynne å lære For Loop i excel med få eksempler.

  • Lag en ny Excel -arbeidsbok og lagre den med filtypen .xlsm
  • For å starte Visual Basic -redigeringsskjermen, bruk ALT + F11
  • Sett inn ny modul
  • Kopier koden nedenfor i VB -standardmodulen

Sløyfe 1 (Viser nummer med msgbox)

Sub Loop1 () Dim StartNumber As Integer Dim EndNumber As Integer EndNumber = 5 For StartNumber = 1 To EndNumber MsgBox StartNumber & "is" & "Your StartNumber" Next StartNumber End Sub 

Kode Forklaring:

  • VBA -koden trenger deg til å tilordne verdi til StartNumber, der EndNumber er variabler som deklareres som heltall som utgangspunkt for løkken din
  • Disse verdiene kan være et hvilket som helst tall, og vi har EndNumber som 5
  • StartNumber starter på 1
  • For StartNumber = 1 Til EndNumber betyr at koden starter fra 1 (StartNumber) til 5 (EndNumber)
  • MsgBox StartNumber & "is" & "Your StartNumber" vil vise følgende meldingsboks

Loop2 (fyllingsverdier)

Sub-loop2 () 'Fyller celler A1: A56 med verdier av X ved looping' --- Comment 'Øk verdien av X med 1 i hver loop' --- Comment Dim X As Integer For X = 1 To 56 Range ("A "& X) .Value = X Next X End Sub 

Kode Forklaring:

  • Vi har tilordnet X som et heltall
  • For X = 1 til 56; dette starter med 1 og fortsetter til 56 med et trinn på 1 hver gang
  • Område ("A" og X). Verdi = X; denne linjen lagrer verdien av X og går over til område A1 til A56

Loop3 (Fyll celler med bakgrunnsfarge)

Sub Loop3 () 'Fyller celler B1: B56 med de 56 bakgrunnsfargene' --- Kommentar Dim X som heltall for X = 1 til 56 område ("B" og X) .Velg med utvalg.Interiør .ColorIndex = X .Mønster = xlSolid ende med neste X ende sub 

Kode Forklaring:

  • Vi har tilordnet X som et heltall
  • For X = 1 til 56 starter med 1 og fortsetter til 56 med et trinn på 1 hver gang
  • Område ("B" og X) .Velg; denne linjen lagrer verdien av X og velg cellen B1 til B56
  • De neste 4 linjene, dvs. Med utvalg. Interiør vil velge interiør fargeindeks og ta verdien fra X for den fargeindeksen slik at 1 tilhører farge svart; 2 tilhører fargen hvit; 3 for rød og så videre

Sløyfe 4 (Fyll verdier med trinn på 2)

Som standard er trinnverdien fremover 1, men den kan settes til et tall mer enn 1.

Sub-loop4 () 'Fyller hver andre celle fra C1: C50 med verdier på X' --- Kommentar Dim X som heltall for X = 1 til 50 Trinn 2-område ("C" og X) .Value = X Neste X End Sub 

Kode Forklaring:

  • Vi har tilordnet X som et heltall
  • For X = 1 til 50 Trinn 2; dette starter med 1 i X til 50 med et trinn på 2 hver gang
  • Område ("C" og X). Verdi = X; denne linjen lagrer verdien av X og går til området C1 til C50

Loop 5 (VBA For Loop in Reverse with STEP Instruction)

Det er ikke nødvendig at telleren i For -sløyfen bare vil bevege seg fra lave til høyere verdier; I stedet kan For loop løpe bakover, for dvs høye til lavere verdier.

Selv om trinnverdien er fremover 1 som standard, kan den imidlertid settes til et tall i motsatt rekkefølge.

Sub-loop5 () 'Fyller celler fra D1: D50 med verdier på X' --- Kommentar 'I dette tilfellet reduseres X med 1' --- Kommentar Dim X som heltall, rad som heltall rad = 1 for X = 50 til 0 Trinn -1 Område ("D" og rad) .Værdi = X rad = rad + 1 neste X avslutt sub 

Kode Forklaring:

  • Vi har tilordnet X & Row som heltall
  • Raden inneholder verdi 1
  • For X = 50 til 0 Trinn -1; dette starter fra 50 med reduksjon med 1 i X til 0
  • Område ("D" og rad). Verdi = X; denne linjen vil lagre verdien av X og vil passere til området D1 til D50

Sløyfe 6 (Fyller hver andre celle i revers med STEP-2)

I eksempelet For sløyfe -eksempelet ovenfor kan vi bruke trinnet og rekkefølgen for å se om For -sløyfen fungerer fremover eller bakover.

Sub-loop6 () 'Fyller ut hver andre celle fra E1: E100 med verdier på X' --- Kommentar 'I dette tilfellet reduseres X med 2' --- Kommentar Dim X som heltall, rad som heltall rad = 1 for X = 100 Til 0 Trinn -2 Område ("E" og rad) .Værdi = X rad = rad + 2 Neste X Avslutt sub 

Kode Forklaring:

  • Vi har tilordnet X & Row som heltall
  • Raden inneholder verdi 1
  • For X = 100 til 0 Trinn -2; dette starter fra 100 med reduksjon med 2 i X til 0
  • Område ("E" og rad). Verdi = X; denne linjen lagrer verdien av X og går til område E1 til E100

Loop 7 (For Loop with IF -tilstand: Fyller celler som starter fra spesifikk celle)

Dette vil fylle cellene fra celle F11 med verdi 11 til X oppfyller IF -betingelsen

Sub Loop7 () 'Starter å fylle celler F11: F100 med verdier på X' --- Kommentar 'Dette vil gå ut av sløyfen etter 50' --- Kommentar Dim X Som Heltall For X = 11 Til 100 Område ("F" & X) .Value = X If X = 50 Then MsgBox ("Bye Bye") Exit For End If Next X End Sub 

Kode Forklaring:

  • Vi har tilordnet X som et heltall
  • For X = 11 til 100; starter fra 11 med trinn på 1 i X til tilstanden oppfyller
  • Område ("F" og X). Verdi = X; denne linjen vil lagre verdien av X og vil passere til område F11 til betingelsen oppfyller

  • Etter at du har angitt verdien 50 i celle F50, vises følgende meldingsboks

Konklusjon: Med de ovennevnte 7 eksemplene kan vi søke For loop i vår vanlige eller hvilken som helst automatiseringsdel.

Hvis du likte bloggene våre, del den med vennene dine på Facebook. Og du kan også følge oss på Twitter og Facebook.
Vi vil gjerne høre fra deg, gi oss beskjed om hvordan vi kan forbedre, utfylle eller innovere arbeidet vårt og gjøre det bedre for deg. Skriv til oss på e -post