VBA til næste - Vejledning til brug af Excel VBA til næste erklæring

Indholdsfortegnelse

Excel VBA til næste løkke

VBA For Next-sløjfe er en sløjfe, der bruges blandt alle programmeringssprogene. I denne sløjfe er der et kriterium efter for-sætningen, som koden sløjfer i sløjfen, indtil kriterierne nås, og når kriterierne er nået, dirigerer den næste sætning proceduren til næste trin i koden.

“For Next” -sløjfe er en af ​​de sløjfer, der bruges meget ofte end andre sløjfer i VBA-kodning. Sløjfer hjælper os med at gentage den samme type opgave for specificerede celler, indtil betingelsen er SAND.

FOR LOOP sløjfer gennem celleområdet og udfører en bestemt opgave, indtil betingelsen er SAND. Hvis du f.eks. Vil løkke gennem de første 10 celler og indsætte serienumre forøget med 1, kan du bruge FOR NEXT loop.

Denne sløjfe har brug for en variabel for at køre sløjfen. Ved hjælp af denne variabel kan vi dynamisk henvise til cellerne.

Den indeholder tre parametre.

For Statement = Startpunkt til slutpunkt (Udfør en opgave) Næste sætning

Fra startpunktet starter loop og udfører en opgave, efter at opgaven er afsluttet, går den til den næste loop og udfører igen den samme opgave i den anden celle. Som dette, indtil det når slutpunktet, fortsætter det med at udføre den angivne opgave.

Hvordan bruges VBA til næste løkke?

Antag, at du vil indsætte serienumre fra 1 til 10 til A1 til A10 celler. Selvfølgelig kan vi indsætte som at skrive ti linjer kode.

Kode:

Under For_Next_Loop_Example1 () Område ("A1"). Værdi = 1 Område ("A2"). Værdi = 2 Område ("A3"). Værdi = 3 Område ("A4"). Værdi = 4 Område ("A5") .Værdi = 5 Område ("A6"). Værdi = 6 Område ("A7"). Værdi = 7 Område ("A8"). Værdi = 8 Område ("A9"). Værdi = 9 Område ("A10") .Værdi = 10 Afslut sub

Men hvad nu hvis jeg vil indsætte 100 serienumre? Selvfølgelig kan jeg ikke skrive 100 linjer kode bare for at indsætte serienumre. Det er her, skønheden i “FOR NEXT” -sløjfen kommer ind i billedet. Følg nedenstående trin for at minimere koden.

Trin 1: Først skal vi definere en variabel. Jeg har erklæret variabelnavnet kaldet "Serial_Number" som en heltal datatype.

Kode:

Sub For_Next_Loop_Example2 () Dim Serial_Number Som Integer End Sub

Trin 2: Nu bestiller jeg at anvende FOR NEXT loop, vores mål er at indsætte serienumre fra 1 til 10, så det betyder, at vores loop skal køre ti gange. Så FOR LOOP-udsagnet skal være sådan.

For Serienummer = 1 til 10

Næste Serienummer

Kode:

Sub For_Next_Loop_Example2 () Dim Serial_Number Som Integer For Serial_Number = 1 To 10 Next Serial_Number End Sub

Trin 3: Vi har anvendt sløjfen. Når først sløjfen er anvendt, skal vi specificere, hvad vi skal gøre inde i sløjfen. Vores mål her er at indsætte serienumre fra 1 til 10. Så skriv koden som celler (Serial_Number, 1) .Value = Serial_Number.

Kode:

Sub For_Next_Loop_Example2 () Dim Serial_Number Som Integer Dim Serial_Number = 1 til 10 celler (Serial_Number, 1). Værdi = Serial_Number Dim Serial_Number End Sub

Trin 4: Årsagen til, at vi havde givet Serial_Number i CELLS-egenskaben, fordi vi ikke kan angive hardcore-nummeret til rækkehenvisning her. Hver gang loop løber, vil jeg indsætte det nye serienummer i den nye celle, ikke i den samme celle.

Trin 5: Kør koden linje for linje ved at trykke på F8-tasten.

Trin 6: Placer en markør på variablen Serial_Number; det viser den aktuelle værdi af Serial_Number.

På dette tidspunkt er Serien_Nummer-værdien nul.

Trin 7: Tryk en gang til på F8-tasten, den gule farve flytter til den næste linje kode i VBA. Placer nu en markør på Serienummer.

Nu er værdien af ​​Serial_Number lig med en, fordi nu loop startes, og vores loop starter fra 1, så variablen Serial_Number værdi er lig med en.

En mere interessant ting her er, hvor variablen Serial_Number er der, det er også lig med 1.

Så i celleregenskaben har vi nævnt koden som:

Celler (Serienummer, 1) .Værdi = Serienummer

Dette betyder celler (1, 1). Værdi = 1. (celler (1,1) betyder række1 og kolonne1.

Så i række nummer 1 og kolonne nummer 1 skal værdien være 1.

Trin 8: Tryk nu på F8 en gang til og se hvad der sker i række1 og kolonne1, dvs. celle A1.

Så vi fik 1 som værdi, dvs. værdien af ​​Serial_Number.

Trin 9: Tryk nu på F8-tasten en gang til. Typisk skal den næste kode køres, dvs. slutningen af ​​understationen. Men her vil det gå tilbage til "ovenstående linje".

Trin 10: Husk, at løkken allerede har afsluttet den første kørsel. Nu vender den tilbage for anden gang. Placer nu en markør på variablen Serial_Number og se, hvad værdien er.

Nu er variabel Serial_Number lig med 2, fordi sløjfen allerede returneres for anden gang.

Nu, uanset hvor Serial_Number er, er der lig med værdien 2. Så linjekoden:

Celler (Serienummer, 1) .Værdi = Serienummer er lig med:

Celler (2, 1). Værdi = 2. (celler (2,1) betyder række2 og kolonne1, dvs. A2-celle).

Trin 11: Kør denne kode og se værdien i A2-cellen.

Så vi fik den anden serienummerværdi.

Trin 12: Tryk nu på F8-tasten. Det vil igen vende tilbage til ovenstående linje for at gentage koden. Denne gang vil Serial_Number-værdien være 3.

Trin 13: Så uanset hvor Serial_Number er, er der lig med 3.

Så linjekoden: Celler (Serial_Number, 1) .Value = Serial_Number er lig med:

Celler (3, 1). Værdi = 3. (celler (3,1) betyder række 3 og kolonne 1, dvs. A3-celle).

Trin 14: Tryk på F8 for at udføre den fremhævede linje og se værdien i A3-cellen.

Trin 15: Bliv ved med at trykke på F8. Det fortsætter med at indsætte serienumre. Momentværdien af ​​variablen Serial_Number er 10, den stopper looping og forlader loop.

Interessante artikler...