Hjem Social Media Sådan bruges de næste lus i Excel 2016 VBA - dummies

Sådan bruges de næste lus i Excel 2016 VBA - dummies

Indholdsfortegnelse:

Video: Week 1 2024

Video: Week 1 2024
Anonim

Den enkleste type loop i Excel VBA-programmering er en For-Next-loop. Sløjfen styres af en tællervariabel, som starter med en værdi og stopper med en anden værdi. Udtalelserne mellem For-erklæringen og Next-sætningen er de udsagn, der gentages i løkken.

Et næste eksempel

Følgende eksempel bruger en For-Next-loop til at summere de første 1 000 positive tal. Totalvariablen starter som nul. Så sker loopingen. Variabeln Cnt er loop-tælleren. Det starter som 1 og øges med 1 hver gang gennem løkken. Sløjfen slutter, når Cnt er 1, 000.

Dette eksempel har kun en sætning inde i løkken. Denne sætning tilføjer værdien af ​​Cnt til Total-variablen. Når sløjfen er færdig, viser en MsgBox summen af ​​tallene.

Sub AddNumbers () Dim Total Som Double Dim Cnt Så Lang Total = 0 For Cnt = 1 til 1000 Total = Total + Cnt Næste Cnt MsgBox Total End Sub

Fordi loop tælleren er en normal variabel, kan du skrive kode for at ændre værdien inden for kodekoden mellem For- og Næste-sætningerne. Dette er dog en meget dårlig praksis.

For-næste eksempler med et trin

Du kan bruge en trinværdi til at springe over nogle modværdier i en For-Next-loop. Her er det forrige eksempel, omskrevet for at summe kun de ulige tal mellem 1 og 1, 000:

Sub AddOddNumbers () Dim Total Som Double Dim Cnt Så Lang Ialt = 0 For Cnt = 1 Til 1000 Trin 2 I alt = I alt + Cnt Næste Cnt MsgBox Total End Sub

Denne gang starter Cnt som 1 og tager derefter værdier på 3, 5, 7 og så videre. Trinværdien bestemmer, hvordan tælleren øges. Bemærk, at den øvre sløjfe værdi (1000) ikke rent faktisk anvendes, fordi den højeste værdi af Cnt vil være 999.

Her er et andet eksempel, der bruger en trinværdi på 3. Denne procedure virker med det aktive ark og anvender lysegrå skygger til hver tredje række, fra række 1 til række 100.

Sub ShadeEveryThirdRow () Dim jeg lige så lang for jeg = 1 til 100 Trin 3 rækker (i). Interiør. Farve = RGB (200, 200, 200) Næste jeg slutter Sub

Tjek resultatet af kørslen af ​​denne makro.

Brug en loop til at anvende baggrundsskygger til rækker.

Et eksempel på næste eksempel med en udgangsforklaring

En For-Next-loop kan også indeholde et eller flere Exit For-sætninger i loop. Når VBA møder denne erklæring, ophører sløjfen med det samme.

Følgende eksempel viser Exit For-sætningen. Denne rutine er en funktionsprocedure, der skal bruges i en regnearksformel.Funktionen accepterer et argument (en variabel ved navn Str) og returnerer tegnene til venstre for det første talciffer. For eksempel, hvis argumentet er "KBR98Z," returnerer funktionen "KBR. "

Funktion TextPart (Str) Dim i så lang TextPart =" "For i = 1 til Len (Str) Hvis IsNumerisk (Mid (Str, I, 1)) Afslut derefter for andet tekstPart = TextPart & Mid (Str, Jeg, 1) Afslut, hvis næste jeg slutter Funktion

For-Next-sløjfen starter med 1 og slutter med det tal, der repræsenterer antallet af tegn i strengen. Koden bruger VBAs Mid-funktion til at udtrække et enkelt tegn i loop. Hvis der findes et numerisk tegn, udføres Exit for-sætningen, og sløjfen slutter for tidligt.

Hvis tegnet ikke er numerisk, vedhæftes det til den returnerede værdi (som er den samme som funktionens navn). Den eneste gang sløjfen vil undersøge hvert tegn er, hvis strengen går, da argumentet ikke indeholder nogen numeriske tegn.

Et indlejret næste eksempel

Du kan have et hvilket som helst antal udsagn i loop og nest For-Next-sløjfer inde i andre For-Next-sløjfer.

I det følgende eksempel bruges en indlejret For-Next-loop til at indsætte tilfældige tal i et 12-rad-for-5-kolonne interval af celler. Bemærk at rutinen udfører indre sløjfe (sløjfen med rækketælleren) en gang for hver iteration af ydre sløjfe (sløjfen med Col-tælleren). Med andre ord udfører rutinen Cells (Row, Col) = Rnd-sætningen 60 gange.

Disse celler blev fyldt ved anvendelse af en indlejret For-Next-loop.
Sub FillRange () Dim Col Så Lang Dim Række Længe For Col = 1 til 5 for række = 1 til 12 celler (række, kol) = næste næste række næste kol end sub

det næste eksempel bruger nestede for -Næste loops for at initialisere et tredimensionelt array med værdien 100. Denne rutine udfører sætningen midt i alle loops (assignment statement) 1.000 gange (10 * 10 * 10), hver gang med en anden kombination af værdier for i, j og k:

Sub NestedLoops () Dim MyArray (10, 10, 10) Dim i Så lang Dim j Så lang Dim k Så lang For i = 1 til 10 For j = 1 til 10 For k = 1 til 10 MyArray (i, j, k) = 100 Næste k Næste j Næste jeg 'Andre sætninger gå her Afslut Sub

Her er et sidste eksempel, der bruger indlejrede For-Next-sløjfer med en Step-værdi. Denne procedure skaber et tavler ved at ændre baggrundsfarven på alternerende celler.

Brug sløjfer til at skabe et skakbræt mønster.

Radælleren løber fra 1 til 8. En If-Then-konstruktion bestemmer hvilken indlejret For-Next-struktur, der skal bruges. For ulige nummererede rækker begynder Col-tælleren med 2. For ensartede rækker begynder Col-tælleren med 1. Begge sløjfer bruger en trinværdi på 2, så alternative celler påvirkes. To yderligere sætninger gør cellerne firkantede (ligesom et rigtigt tavler).

Sub MakeCheckerboard () Dim R så lang, C så lang for R = 1 til 8 Hvis WorksheetFunction. IsOdd (R) Then For C = 2 til 8 trin 2 celler (R, C). Interiør. Farve = 255 Næste C For C = 1 til 8 Trin 2 celler (R, C). Interiør. Farve = 255 Næste Cend Hvis næste R Rækker ("1: 8").RowHeight = 35 kolonner ("A: H"). ColumnWidth = 6. 5 End Sub
Sådan bruges de næste lus i Excel 2016 VBA - dummies

Valg af editor

Sådan indtastes aftaler i Outlook 2013 Kalender - dummies

Sådan indtastes aftaler i Outlook 2013 Kalender - dummies

Aftaler du har sat op til arbejde i Outlook 2013 Kalender kræver ofte, at du indeholder lidt mere information, end du ville have brug for til dine personlige aftaler. Når du vil give en aftale den fulde behandling, skal du bruge følgende metode:

Hvordan man indtaster kalenderaftaler fra Outlook. com - dummies

Hvordan man indtaster kalenderaftaler fra Outlook. com - dummies

De aftaler og møder, du sender i Outlook, er knyttet til Outlook. com, så fra enhver web-aktiveret enhed kan du se, hvor du skal være og med hvem. Nu ved du, hvornår du er tilgængelig til møder, frokoster og tilfældige tungevæsker. Hvis du vil have dine Outlook 2013-data og din Outlook. com data til synkronisering automatisk, ...

Sådan flagger du en kontakt i Outlook 2013 - dummies

Sådan flagger du en kontakt i Outlook 2013 - dummies

Nogle gange har du brug for Outlook 2013 for at minde dig om vigtig datoer eller opfølgningsaktiviteter. Du kan f.eks. Bruge flag, for at minde dig om at ringe til nogen næste uge. Den bedste måde at hjælpe dig med at huske på er at markere personens navn i listen Kontaktpersoner. En påmindelse vil dukke op i din kalender. Kontakterne er ikke ...

Valg af editor

LinkedIn Group Kategorier - dummies

LinkedIn Group Kategorier - dummies

Fordi der er mange grunde til at oprette en gruppe, giver LinkedIn dig muligheder for at kategorisere din gruppe for at give dig mest eksponering. LinkedIn har etableret følgende seks hovedkategorier af grupper: Alumni: Disse grupper er alumniforeninger skabt af skoler eller lærerinstitutioner som et middel til at holde kontakten med fortiden ...

LinkedIn: Sådan oprettes en eksportfil til eksportkontakter - dummier

LinkedIn: Sådan oprettes en eksportfil til eksportkontakter - dummier

Der kommer nok en tid du har brug for dine LinkedIn kontakter for at hjælpe dig på andre arenaer, hvis du vil lykkes i din jobsøgning. For det første skal du generere din eksporterede fil af kontakter fra LinkedIn. Det gør du ved at følge disse trin:

LinkedIn For Dummies Cheat Sheet - dummies

LinkedIn For Dummies Cheat Sheet - dummies

Tilmelding til LinkedIn betyder, at du er en del af det største online faglige netværk i verden. Se her for nyttige retningslinjer for brug af LinkedIn, især når du søger job. LinkedIn hjælper dig med at oprette og vedligeholde en online profil, du kan bruge til at opbygge et professionelt netværk.

Valg af editor

Windows Phone 7 Application Development For Dummies Cheat Sheet - dummies

Windows Phone 7 Application Development For Dummies Cheat Sheet - dummies

Hvis du har en god Ny ide til en app, der vil køre på Windows Phone 7, start med at downloade de gratis Windows Phone Developer Tools fra Microsofts websted. Processen tager et kig på, hvad du har på din pc, før det begynder at downloade - hvis du allerede har en bedre version ...

Hvorfor udvikle til Android? - dummies

Hvorfor udvikle til Android? - dummies

Det virkelige spørgsmål er, "Hvorfor ikke udvikle til Android? "Hvis du vil have din app tilgængelig for millioner af brugere over hele verden, eller hvis du vil offentliggøre apps, så snart du er færdig med at skrive og teste dem, eller hvis du kan lide at udvikle på en åben platform, har du dit svar. Men hvis du er ...

Arbejder med objektgrafer i storyboarding - dummies

Arbejder med objektgrafer i storyboarding - dummies

Du kan bruge storyboarding til at starte din iOS-applikationsudvikling i Xcode4. Når du opretter dit storyboard, opretter du en objektgraf, der derefter arkiveres, når du gemmer filen. Når du indlæser filen, er objektgrafen unarchived. Så hvad er en objekgraf? Her er det korte svar: Objektorienterede programmer er lavet ...