Hvis du skriver et VBA -program, og du vil udføre den samme opgave flere gange, kan du gøre dette ved at bruge VBA til sløjfer. VBA er et sekventielt programmeringssprog. Hver kodelinje eksekveres fra top til bund, indtil der ikke er flere kodelinjer at læse. Hvis du vil gå tilbage og udføre en opgave, skal du tvinge ved hjælp af makrokode. Du får resultater med loop.
For Loop i VBA er en af de mest almindelige typer loop. For -løkken har to former: For næste og for hver i næste. For -sløjfen bruges typisk til at bevæge sig sekventielt gennem en liste over poster eller tal. For at afslutte For -løkken på et givet tidspunkt kan vi bruge exit -sætningen. For Loop vil gå rundt og rundt, indtil den opfylder slutbetingelsen. Når slutbetingelsen er opfyldt, fortsætter programmeringsstrømmen nedad i sin naturlige retning.
For… Næste loop har følgende syntaks: For counter = start_counter Til end_counter 'Gør noget her (din kode) Næste tæller
Vi skaber faktisk en loop, der bruger variabel tæller som loopens 'tidsholder'. Vi sætter den til en værdi, der er lig med start_tæller i begyndelsen af sløjfen og øg den derefter med 1 under hver sløjfe, indtil den opfylder slutbetingelsen. Sløjfen udføres indtil det tidspunkt, værdien af tæller bliver lig med slut_tæller. Sløjfen udføres for sidste gang, når begge ovenstående værdier matcher, og derefter stopper sløjfen.
Alt ovenstående kan være forvirrende for nogle mennesker, så lad os geare og begynde at lære For Loop i excel med få eksempler.
- Opret en ny Excel -projektmappe, og gem den derefter med udvidelsen .xlsm
- Brug ALT + F11 til at starte Visual Basic -editorskærm
- Indsæt nyt modul
- Kopier nedenstående kode i VB -standardmodulet
Loop 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 skal du tildele værdi til StartNumber, hvor EndNumber er variabler, der erklæres som heltal som udgangspunkt for din loop
- Disse værdier kan være et hvilket som helst tal, og vi har EndNumber som 5
- StartNumber startes 1
- For StartNumber = 1 Til EndNumber betyder, at koden starter fra 1 (StartNumber) til 5 (EndNumber)
- MsgBox StartNumber & "is" & "Your StartNumber" viser følgende meddelelsesboks
Loop2 (udfyldningsværdier)
Sub-loop2 () 'Fylder celler A1: A56 med værdier af X ved looping' --- Kommentar 'Forøg værdi af X med 1 i hver loop' --- Kommentar Dim X som heltal for X = 1 til 56 område ("A "& X) .Value = X Næste X Afslut Sub
Kode Forklaring:
- Vi har tildelt X som et heltal
- For X = 1 til 56; dette starter med 1 og fortsætter til 56 med et stigning på 1 hver gang
- Område ("A" og X). Værdi = X; denne linje gemmer værdien af X og passerer til område A1 til A56
Loop3 (Fyld celler med baggrundsfarve)
Sub Loop3 () 'Fylder celler B1: B56 med de 56 baggrundsfarver' --- Kommentar Dim X som heltal for X = 1 til 56 område ("B" & X) .Vælg med markering.Interiør .ColorIndex = X .Mønster = xlSolid End Med Næste X End Sub
Kode Forklaring:
- Vi har tildelt X som et heltal
- For X = 1 til 56 starter med 1 og fortsætter til 56 med et trin på 1 hver gang
- Område ("B" og X) .Vælg; denne linje gemmer værdien af X og vælger cellen B1 til B56
- De næste 4 linjer, dvs. Med Selection.Interior vælger interiør farveindeks og tager værdien fra X af denne farveindeks, således at 1 tilhører farve sort; 2 tilhører farve hvid; 3 for rød og så videre
Loop 4 (udfyldningsværdier med stigning på 2)
Som standard er trinværdien fremad 1, men den kan indstilles til et tal mere end 1.
Sub-loop4 () 'Udfylder hver anden celle fra C1: C50 med værdier af X' --- Kommentar Dim X som heltal for X = 1 til 50 Trin 2-område ("C" & X) .Værdi = X Næste X End Sub
Kode Forklaring:
- Vi har tildelt X som et heltal
- For X = 1 til 50 Trin 2; dette starter med 1 i X til 50 med et trin på 2 hver gang
- Område ("C" og X). Værdi = X; denne linje vil gemme værdien af X og vil passere til område C1 til C50
Loop 5 (VBA For Loop in Reverse med STEP -instruktion)
Det er ikke nødvendigt, at tælleren i For -sløjfen kun bevæger sig fra lave til højere værdier; I stedet kan For loop løbe baglæns, for dvs. højt til lavere værdier.
Selvom trinværdien som standard er fremad 1, kan den dog indstilles til et tal i omvendt rækkefølge.
Underløkke5 () 'Fylder celler fra D1: D50 med værdier af X' --- Kommentar 'I dette tilfælde falder X med 1' --- Kommentar Dim X som heltal, Række som heltal Række = 1 For X = 50 til 0 Trin -1 Område ("D" og række) .Værdi = X række = række + 1 Næste X Afslut sub
Kode Forklaring:
- Vi har tildelt X & Row som heltal
- Række indeholder værdi 1
- For X = 50 til 0 Trin -1; dette starter fra 50 med fald med 1 i X til 0
- Område ("D" og række) .Værdi = X; denne linje gemmer værdien X og passerer til område D1 til D50
Loop 6 (Udfylder hver anden celle i omvendt med STEP-2)
I eksemplet ovenfor til sløjfe kan vi bruge trin og rækkefølge til at se, om For -løkken fungerer i retning fremad eller bagud.
Sub-loop6 () 'Udfylder hver anden celle fra E1: E100 med værdier af X' --- Kommentar 'I dette tilfælde falder X med 2' --- Kommentar Dim X som heltal, Række som heltal Række = 1 For X = 100 Til 0 Trin -2 Område ("E" & Række) .Værdi = X Række = Række + 2 Næste X Afslut Sub
Kode Forklaring:
- Vi har tildelt X & Row som heltal
- Række indeholder værdi 1
- For X = 100 til 0 Trin -2; dette starter fra 100 med faldende med 2 i X til 0
- Område ("E" og række) .Værdi = X; denne linje gemmer værdien X og passerer til område E1 til E100
Loop 7 (For Loop med IF -tilstand: Fylder celler, der starter fra specifik celle)
Dette vil fylde cellerne fra celle F11 med værdi 11, indtil X opfylder IF -betingelsen
Sub-loop7 () 'Starter til at fylde celler F11: F100 med værdier af X' --- Kommentar 'Dette forlader loopet efter 50' --- Kommentar Dim X som heltal for X = 11 til 100 Range ("F" & X) .Værdi = X Hvis X = 50 Så afslutter MsgBox ("Bye Bye") For End If Next X End Sub
Kode Forklaring:
- Vi har tildelt X som et heltal
- For X = 11 til 100; starter fra 11 med stigning med 1 i X, indtil betingelsen opfylder
- Område ("F" & X). Værdi = X; denne linje gemmer værdien X og passerer til område F11, indtil betingelsen opfylder
- Efter indtastning af værdien 50 i celle F50, vises følgende meddelelsesboks
Konklusion: Med ovenstående 7 eksempler kan vi anvende For loop i vores almindelige eller enhver automatiseringsdel.
Hvis du kunne lide vores blogs, kan du dele den med dine venner på Facebook. Og også du kan følge os på Twitter og Facebook.
Vi vil meget gerne høre fra dig, lad os vide, hvordan vi kan forbedre, supplere eller innovere vores arbejde og gøre det bedre for dig. Skriv til os på e -mail -stedet