Hjem Sosiale medier Slik bruker du de neste løkkene i Excel 2016 VBA - dummies

Slik bruker du de neste løkkene i Excel 2016 VBA - dummies

Innholdsfortegnelse:

Video: Python Web Apps with Flask by Ezra Zigmond 2024

Video: Python Web Apps with Flask by Ezra Zigmond 2024
Anonim

Den enkleste typen loop i Excel VBA programmering er en For-Next loop. Sløyfen styres av en tellervariabel, som starter med en verdi og stopper med en annen verdi. Uttalelsene mellom For-setningen og Neste-setningen er de utsagnene som blir gjentatt i løkken.

Et neste eksempel

Følgende eksempel bruker en For-Next-loop for å summere de første 1 000 positive tallene. Totalvariabelen starter som null. Deretter oppstår loopingen. Variabel Cnt er loop-telleren. Den starter som 1 og økes med 1 hver gang gjennom løkken. Sløyfen slutter når Cnt er 1, 000.

Dette eksemplet har bare en setning i løkken. Denne setningen legger til verdien av Cnt til Total-variabelen. Når sløyfen er ferdig, viser en MsgBox summen av tallene.

Sub AddNumbers () Dim Total Som Dobbel Dim Cnt Så Lang Totalt = 0 For Cnt = 1 Til 1000 Totalt = Totalt + Cnt Neste Cnt MsgBox Total End Sub

Fordi loop-telleren er en vanlig variabel, kan du skrive kode for å endre verdien i kodeblokken mellom For- og Neste-setningene. Dette er imidlertid en veldig dårlig praksis.

For-neste eksempler med et trinn

Du kan bruke en trinnverdien til å hoppe over noen motverdier i en For-Next-loop. Her er det forrige eksempelet, omskrevet for å summe bare de ulige tallene mellom 1 og 1, 000:

Sub AddOddNumbers () Dim Total Som Dobbel Dim Cnt Så Lang Totalt = 0 For Cnt = 1 Til 1000 Trinn 2 Totalt = Totalt + Cnt Neste Cnt MsgBox Total End Sub

Denne gangen starter Cnt som 1 og tar deretter opp verdier på 3, 5, 7 og så videre. Trinnverdien bestemmer hvordan telleren økes. Legg merke til at den øvre sløyfeverdien (1000) ikke er faktisk brukt fordi den høyeste verdien av Cnt vil være 999.

Her er et annet eksempel som bruker en trinnverdi på 3. Denne prosedyren fungerer med det aktive arket og bruker lysegrå skyggelegging til hver tredje rad, fra rad 1 til rad 100.

Sub ShadeEveryThirdRow () Dim jeg så lenge for jeg = 1 til 100 trinn 3 rader (i). Interiør. Farge = RGB (200, 200, 200) Neste avslutter Sub

Sjekk resultatet av å kjøre denne makroen.

Bruk en sløyfe for å bruke bakgrunnsskygging til rader.

Et for-neste eksempel med en avslutningsforklaring

En For-Next-loop kan også inkludere ett eller flere Exit For-setninger i loop. Når VBA møter denne utsagnet, avslutter sløyfen umiddelbart.

Følgende eksempel viser Exit For-setningen. Denne rutinen er en funksjonsprosedyre som skal brukes i en regnearkformel.Funksjonen aksepterer ett argument (en variabel som heter Str) og returnerer tegnene til venstre for det første talltallet. For eksempel, hvis argumentet er "KBR98Z," returnerer funksjonen "KBR. "

Funksjon TextPart (Str) Dim jeg så lenge TextPart =" "For i = 1 Til Len (Str) Hvis IsNumerisk (Mid (Str, I, 1)) Avslutt For El TextPart = TextPart & Mid jeg, 1) Slutt hvis neste jeg avslutter funksjonen

Forløpsløkken starter med 1 og slutter med tallet som representerer antall tegn i strengen. Koden bruker VBAs Mid-funksjon for å trekke ut et enkelt tegn i løkken. Hvis et numerisk tegn er funnet, utføres Exit for-setningen, og sløyfen slutter for tidlig.

Hvis tegnet ikke er numerisk, legges det til den returnerte verdien (som er den samme som funksjonens navn). Den eneste gangen sløyfen vil undersøke hvert tegn er hvis strengen gikk fordi argumentet ikke inneholder noen numeriske tegn.

Et nestet For neste eksempel

Du kan ha et hvilket som helst antall setninger i loop og nest For-Next-løkker inne i andre For-Next-løkker.

Følgende eksempel bruker en nestet For-Next-sløyfe for å sette inn tilfeldige tall i et 12-rad-for-5-kolonne rekkevidde av celler. Legg merke til at rutinen utfører indre sløyfe (sløyfen med radtelleren) en gang for hver iterasjon av ytre sløyfe (sløyfen med Col-telleren). Med andre ord utfører rutinen cellene (Row, Col) = Rnd-setningen 60 ganger.

Disse cellene ble fylt ved å bruke en nestet For-Next-løkke.
Sub FillRange () Dim Col så langt Dim Row så lenge for Col = 1 til 5 for rad = 1 til 12 celler (rad, kol) = Rnd neste rad neste kol End Sub

neste eksempel bruker nestet for -Neste looper for å initialisere et tredimensjonalt array med verdien 100. Denne rutinen utfører setningen i midten av alle løkkene (oppgaveoppgaven) 1.000 ganger (10 * 10 * 10), hver gang med en annen kombinasjon av verdier for i, j og k:

Sub NestedLoops () Dim MyArray (10, 10, 10) Dim jeg så lenge Dim j Så lang Dim k Så lenge For i = 1 til 10 For j = 1 til 10 For k = 1 til 10 MyArray (i, j, k) = 100 Neste k Neste j Neste jeg 'Andre setninger gå her Slutt Sub

Her er et siste eksempel som bruker nestede For-Next-løkker, med en Step-verdi. Denne prosedyren oppretter et sjakkbrett ved å endre bakgrunnsfargen på alternerende celler.

Bruk løkker til å lage et sjakkbrettmønster.

Radetelleren løper fra 1 til 8. En If-Then-konstruksjon bestemmer hvilken nestet For-Next-struktur som skal brukes. For ulik nummererte rader begynner Col-telleren med 2. For likeverdige rader begynner Col-telleren med 1. Begge løkkene bruker en trinnverdien på 2, slik at alternative celler påvirkes. To ekstra setninger gjør cellene firkantede (akkurat som et ekte sjakkbrett).

Sub MakeCheckerboard () Dim R så lenge, C så lenge for R = 1 til 8 Hvis WorksheetFunction. IsOdd (R) Then For C = 2 til 8 trinn 2 celler (R, C). Interiør. Farge = 255 Neste C For C = 1 til 8 trinn 2 celler (R, C). Interiør. Farge = 255 Neste C End Hvis Neste R Rader ("1: 8").RowHeight = 35 kolonner ("A: H"). ColumnWidth = 6. 5 End Sub
Slik bruker du de neste løkkene i Excel 2016 VBA - dummies

Redaktørens valg

Vanlige visuelle studio-tastaturgenveier - dummier

Vanlige visuelle studio-tastaturgenveier - dummier

Du kan få tilgang til mange av funksjonene du bruker i Visual Studio til Lag en Silverlight-applikasjon gjennom tastaturgenveier. Her er de vanlige snarveiene som hjelper deg med å utføre oppgaver raskt i Visual Studio. Tastatur snarvei Handling Ctrl + Alt + F1 Åpne Visual Studio Documentation Ctrl + Shift + B Bygg programmet Ctrl + F5 Kjør prosjektet Ctrl + Alt + X Åpne verktøykassen hvis ...

Velg riktig format for e-postmarkedsføringsmeldingen din - dummies

Velg riktig format for e-postmarkedsføringsmeldingen din - dummies

Som Du komponerer markedsførings-e-postene dine, husk at formatet på e-posten din visuelt kommuniserer hovedideen til innholdet før publikum selv begynner å lese det. Forbrukerne forventer at formatet på e-posten din samsvarer med informasjonen den inneholder, slik at bruk av riktig format bidrar til å bygge publikums tillit. Velg ...

Kombinere flere samtaler til handling i din markedsføring e-post - dummies

Kombinere flere samtaler til handling i din markedsføring e-post - dummies

Din e-postmarkedsføringslisten består sannsynligvis av prospekter og kunder i ulike stadier av kjøpesyklusen med litt forskjellige interesser, så en del av publikum vil aldri være klar til å reagere umiddelbart på hver handling. Selv om alle på din e-postliste er klare til handling, er dine anrop til handling ...

Redaktørens valg

Opprett en Pivot-tabell YTD-totalvisning for Excel-rapporten - dummies

Opprett en Pivot-tabell YTD-totalvisning for Excel-rapporten - dummies

En nyttig rapportvisning I et Excel-pivottabell er YTD-totalsvisningen. Noen ganger er det nyttig å fange et løp-total-visning for å analysere bevegelsen av tall på en årlig basis (YTD) basis. Denne figuren illustrerer et pivottabell som viser en løpende total omsetning per måned for hvert år. I denne visningen er du ...

Opprett en pivottabel ved hjelp av Excels interne datamodell - dummies

Opprett en pivottabel ved hjelp av Excels interne datamodell - dummies

I enkelte tilfeller vil du kanskje opprett et pivottabell fra grunnen ved hjelp av Excels eksisterende interne datamodell som kildedata. Her er trinnene for å gjøre det: Velg Sett inn → PivotTable fra båndet. Dialogboksen Create PivotTable åpnes. Velg alternativet Bruk en ekstern datakilde, som vist, og klikk deretter på ...

Hvordan lage en standard snikker i Power Pivot - dummies

Hvordan lage en standard snikker i Power Pivot - dummies

Slicers tilbyr et brukervennlig grensesnitt med som du kan filtrere en Power Pivot pivottabell. Det er på tide å lage din første slicer. Bare følg disse trinnene:

Redaktørens valg

Alarmhendelsen i GameMaker: Studio-dummies

Alarmhendelsen i GameMaker: Studio-dummies

Alarmer er utmerket for når du vil ha tid Handlinger i din spill i GameMaker: Studio. For eksempel, hvis du vil at spilleren bare skal skyte kuler en gang hvert annet sekund, kan du sette en alarm for det. Hvis du vil når nye fiendtlige fly vises, kan du sette en alarm for det ...

Flytt retningsaktive handlinger i GameMaker: Studio - dummies

Flytt retningsaktive handlinger i GameMaker: Studio - dummies

I GameMaker: Studio, Flytt-fanen er den første kategorien i vinduet Objektegenskaper. Her er en liste over hver av handlingene du kan tilordne objektene. I følgende definisjoner brukes begrepet Instance for å referere til hva handlingen påvirker. Men du konfigurerer handlingen i objektet ...

Andre hendelser i GameMaker: Studio - dummies

Andre hendelser i GameMaker: Studio - dummies

I GameMaker: Studio, Andre hendelser er de som ikke anses verdige av sitt eget sted på menyen Event. Disse andre hendelsene kan være ganske kjempebra. Menyelementene er ganske mye selvforklarende, så det er ikke nødvendig med detaljer her. For fullstendige beskrivelser av hver av disse elementene, kan du alltid trykke F1 i GameMaker og ...