Hem Sociala medier Hur man använder de kommande looparna i Excel 2016 VBA - dummies

Hur man använder de kommande looparna i Excel 2016 VBA - dummies

Innehållsförteckning:

Video: Supersection Week 1 2024

Video: Supersection Week 1 2024
Anonim

Den enklaste typen av loop i Excel VBA-programmering är en For-Next-loop. Slingningen styrs av en räknarevariabel som börjar vid ett värde och stannar vid ett annat värde. Uttalandena mellan For-förklaringen och Nästa-satsen är de uttalanden som upprepas i slingan.

Ett nästa exempel

Följande exempel använder en For-Next-loop för att summera de första 1 000 positiva talen. Totalvariabeln börjar som noll. Sedan uppstår loopingen. Variabeln Cnt är slingräknaren. Den börjar som 1 och ökas med 1 varje gång genom slingan. Slingan slutar när Cnt är 1, 000.

Detta exempel har bara ett uttalande inne i slingan. Detta uttalande lägger till värdet av Cnt till Total variabeln. När slingan slutar visar en MsgBox summan av siffrorna.

Sub AddNumbers () Dim Totalt Som Dubbelt Dim Cnt Så länge Totalt = 0 För Cnt = 1 Till 1000 Totalt = Totalt + Cnt Nästa Cnt MsgBox Total End Sub

Eftersom loopräknaren är en normal variabel kan du skriva kod för att ändra dess värde inom kodblocket mellan för- och nästa-satsen. Detta är dock en mycket dålig övning.

För-nästa exempel med ett steg

Du kan använda ett stegvärde för att hoppa över några motvärden i en For-Next-loop. Här är det föregående exemplet, omskrivna för att summa endast de udda siffrorna mellan 1 och 1 000:

Sub AddOddNumbers () Dim Totalt Som Dubbelt Dim Cnt Så Långt Totalt = 0 För Cnt = 1 Till 1000 Steg 2 Totalt = Totalt + Cnt Nästa Cnt MsgBox Total End Sub

Den här gången börjar Cnt som 1 och tar sedan värden på 3, 5, 7 och så vidare. Steg-värdet bestämmer hur räknaren ökas. Observera att det övre loop-värdet (1000) inte används faktiskt eftersom det högsta värdet av Cnt kommer att vara 999.

Här är ett annat exempel som använder ett stegvärde på 3. Denna procedur fungerar med det aktiva arket och applicerar ljusgrå skuggning till var tredje rad, från rad 1 till rad 100.

Sub ShadeEveryThirdRow () Dimma så länge för jag = 1 till 100 steg 3 rader (i). Interiör. Färg = RGB (200, 200, 200) Nästa avslutar jag

Kolla in resultatet av att köra det här makrot.

Använd en slinga för att tillämpa bakgrundsskuggning i rader.

Ett nästa exempel med ett avslutningsförklaring

En för-nästa-loop kan också innehålla en eller flera Exit For-satser inom slingan. När VBA möter detta uttalande avslutas slingan omedelbart.

Följande exempel visar Exit For-satsen. Denna rutin är ett funktionsförfarande som är avsett att användas i en arbetsbladformel.Funktionen accepterar ett argument (en variabel som heter Str) och returnerar tecknen till vänster om den första siffran. Om argumentet exempelvis är "KBR98Z", returnerar funktionen "KBR. "

Funktion TextPart (Str) Mått jag så länge TextPart =" "För i = 1 Till Len (Str) Om IsNumeric (Mid (Str, I, 1)) Avsluta För El TextPart = TextPart & Mid (Str, I, 1) Avsluta om Nästa avslutar funktionen

För-Nästa-loopen börjar med 1 och slutar med numret som representerar antalet tecken i strängen. Koden använder VBA: s Mid-funktion för att extrahera ett enda tecken i slingan. Om ett numeriskt tecken hittas utförs Exit för-satsen och slingan slutar för tidigt.

Om tecknet inte är numeriskt bifogas det till det returnerade värdet (vilket är detsamma som funktionens namn). Den enda gången slingan kommer att undersöka varje tecken är om strängen passerade eftersom argumentet inte innehåller några numeriska tecken.

Ett kapslade nästa exempel

Du kan ha ett antal uttalanden i loop och nest För-Next-loopar i andra For-Next-loopar.

Följande exempel använder en kapslad För-Nästa-slinga för att infoga slumptal i ett cellområde med 12 rad-för-5-kolumner. Observera att rutinen exekverar inre slingan (slingan med radräknaren) en gång för varje iteration av yttre slingan (slingan med Col-räknaren). Med andra ord exekverar rutinen Cells (Row, Col) = Rnd-utgåvan 60 gånger.

Dessa celler fylldes med användning av en kapslad For-Next-loop.
Sub FillRange () Dim Col så lång dimma rad så länge för Col = 1 till 5 för rad = 1 till 12 celler (rad, kol) = Rnd nästa rad Nästa Col End Sub

Nästa exempel använder nestad För -Next loopar för att initiera en tredimensionell array med värdet 100. Denna rutin utför utredningen mitt i alla loopar (uppdragsuppsättningen) 1 000 gånger (10 * 10 * 10), varje gång med en annan kombination av värdena för i, j och k:

Sub NestedLoops () Dim MyArray (10, 10, 10) Mått i så länge Mått j Så länge Mått k Så länge för i = 1 till 10 För j = 1 till 10 För k = 1 till 10 MyArray (jag, j, k) = 100 Nästa k Nästa j Nästa jag 'Andra uttalanden gå här Sluta del

Här är ett sista exempel som använder inbädda For-Next-loopar med ett Step-värde. Denna procedur skapar en kontrollpanel genom att ändra bakgrundsfärgen på växlande celler.

Använda slingor för att skapa ett rutmönster.

Radräknaren slingrar från 1 till 8. En If-Then-konstruktion bestämmer vilken kapslad för-nästa-struktur som ska användas. För ojämntalade rader börjar Col-räknaren med 2. För jämntalade rader börjar Col-räknaren med 1. Båda looparna använder ett stegvärde av 2, så alternativa celler påverkas. Två ytterligare påståenden gör cellerna kvadratiska (precis som en riktig kontrollpanel).

Sub MakeCheckerboard () Dim R så länge, C så länge för R = 1 till 8 Om WorksheetFunction. IsOdd (R) Then For C = 2 till 8 Step 2 Cells (R, C). Interiör. Färg = 255 Nästa C För C = 1 till 8 Steg 2 celler (R, C). Interiör. Färg = 255 Nästa C-avslutning om nästa R-rader ("1: 8").RowHeight = 35 kolumner ("A: H"). ColumnWidth = 6. 5 End Sub
Hur man använder de kommande looparna i Excel 2016 VBA - dummies

Redaktörens val

Namnge dina webbsidor för bättre SEO resultat - dummies

Namnge dina webbsidor för bättre SEO resultat - dummies

Hur du heter Filerna på din webbplats är viktiga. En sökmotor tittar på filnamnet som en indikation på vad som finns i filen, och så måste du använda rätt nyckelord samt tecken som spindlar kan läsa. Till exempel, istället för att namnge din bild av en röd Ford Mustang som ...

Optimera en målsida genom att felsöka folddummorna

Optimera en målsida genom att felsöka folddummorna

En nyckelstrategi för målsides optimering är för att hålla kritiskt innehåll ovanför veckan. I landningssidans optimeringslingo betyder ovanför vikten att viktigt innehåll visas på första skärmen så tittarna ser det omedelbart. Annars måste de gå under veckan genom att rulla ner till nästa skärm. Håll dig över folden ...

Smal ner din sökordslista för bättre sökmotorresultat (SEO) - dummies

Smal ner din sökordslista för bättre sökmotorresultat (SEO) - dummies

För att få de bästa resultaten från sökmotorerna behöver du först utveckla en bra lång lista med potentiella sökord som kan användas på din webbplats. När du har brainstorm och forskning för att komma med den här listan är nästa steg att begränsa det till de nyckelord som är mest relevanta och effektiva för ...

Redaktörens val

5 Gratis SketchUp Online Resources - dummies

5 Gratis SketchUp Online Resources - dummies

Följande är fem gratis källor till SketchUp-hjälp. Alla dessa resurser kräver att du har en Internetanslutning, så se till att din dator är online innan du försöker någon av dessa. SketchUp-utbildningsresurser: SketchUp publicerar förstklassiga material direkt på sin webbplats: Videotutorials: När SketchUp lanserades år 2000 blev det ...

Hur man lägger till detaljer i din SketchUp Terräng med trianglar - dummies

Hur man lägger till detaljer i din SketchUp Terräng med trianglar - dummies

Som Flip Edge-verktyget, Lägg till detaljeringsverktyget i SketchUp är typ av en one-trick pony. Använd den för att lägga till trianglar till områden på din terrängyta som behöver mer detaljer. På så sätt kan du spara geometri (och filstorlek och vänta) genom att ha många ansikten bara inom områdena på din terräng ...

5 Roliga sätt att använda SketchUps push / dragverktyg - dummies

5 Roliga sätt att använda SketchUps push / dragverktyg - dummies

Push / pull är verktyget som de flesta människor tänker på när de tänker på SketchUp. Faktum är att de personer som uppfann denna programvara (tillbaka i det senaste årtusendet) började med tanken för Push / Pull - det är så nära länkat SketchUp och Push / Pull. Om du vill veta lite mer om SketchUps mest framstående verktyg, ...

Redaktörens val

Nätverksadministration: programhantering - dummies

Nätverksadministration: programhantering - dummies

En viktig uppgift för vilken nätverksadministratör som hanterar olika bitar och programstycken som används av dina användare i hela nätverket. De flesta, om inte alla, av dina nätverksanvändare kommer att ha en version av Microsoft Office installerad på sina datorer. Beroende på vilken typ av verksamhet, kan annan programvara vara stor ...

Nätverksadministration: SharePoint Page Creation - dummies

Nätverksadministration: SharePoint Page Creation - dummies

Standardwebbplatsen består av flera standardsidor, inklusive ett dokumentbibliotek , kalender och ett diskussionsforum. Du kan lägga till sidor på din SharePoint-webbplats för att anpassa den efter behov. Till exempel har många SharePoint-webbplatser mer än ett dokumentbibliotek för att lagra olika typer av dokument. Om du vill skapa en ny SharePoint-sida klickar du på ...

Nätverksadministration: Programuppdateringar - dummies

Nätverksadministration: Programuppdateringar - dummies

En av de irritationer som varje nätverksansvarig möter använder programvaruplattor för att hålla operativsystem och annan programvara uppdaterad. En mjukvarupatch är en mindre uppdatering som åtgärdar de små glitches som uppstår från tid till annan, till exempel mindre säkerhets- eller prestationsproblem. Dessa glitches är inte tillräckligt stora ...