Huis Sociale Media Te gebruiken hoe de For-Next Loops in Excel 2016 VBA te gebruiken - dummies

Te gebruiken hoe de For-Next Loops in Excel 2016 VBA te gebruiken - dummies

Inhoudsopgave:

Video: Excel VBA For Loop Example 1 2024

Video: Excel VBA For Loop Example 1 2024
Anonim

Het eenvoudigste type lus in Excel VBA-programmering is een For-Next-lus. De lus wordt bestuurd door een tellervariabele die begint bij één waarde en stopt bij een andere waarde. De statements tussen de For-statement en de Next-statement zijn de statements die in de loop herhaald worden.

A Voor-volgend voorbeeld

In het volgende voorbeeld wordt een For-Next-lus gebruikt om de eerste 1, 000 positieve getallen te sommeren. De Total-variabele begint als nul. Vervolgens vindt de herhaling plaats. De variabele Cnt is de lusteller. Het begint als 1 en wordt telkens met 1 opgehoogd door de lus. De lus eindigt wanneer Cnt 1, 000 is.

Dit voorbeeld heeft slechts één statement binnen de lus. Met deze instructie wordt de waarde van Cnt toegevoegd aan de variabele Total. Wanneer de lus is voltooid, geeft een MsgBox de som van de getallen weer.

Sub-add-nummers () Dim-totaal als Double Dim Cnt als Long Total = 0 voor Cnt = 1 tot 1000 Total = Total + Cnt Next Cnt MsgBox Total End Sub

Omdat de lusteller een normale variabele is, kunt u schrijven code om de waarde ervan binnen het codeblok tussen de Voor- en de Volgende-instructies te wijzigen. Dit is echter een zeer slechte oefening.

Voor-volgende voorbeelden met een stap

U kunt een stapwaarde gebruiken om een ​​aantal tellerwaarden in een For-Next-lus over te slaan. Hier is het vorige voorbeeld, herschreven om alleen de oneven getallen tussen 1 en 1, 000 op te nemen:

Sub addOddNumbers () Dim Total als Double Dim Cnt As Long Total = 0 For Cnt = 1 To 1000 Step 2 Total = Total + Cnt Volgende Cnt MsgBox Total End Sub

Deze keer begint Cnt als 1 en neemt dan waarden aan van 3, 5, 7, enzovoort. De stapwaarde bepaalt hoe de teller wordt opgehoogd. Merk op dat de bovenste luswaarde (1000) niet daadwerkelijk wordt gebruikt omdat de hoogste waarde van Cnt 999 is.

Hier is nog een voorbeeld dat een stapwaarde van 3 gebruikt. Deze procedure werkt met het actieve werkblad en past lichtgrijze nuances toe op elke derde rij, van rij 1 tot rij 100.

Sub ShadeEveryThirdRow () Dim i zo lang voor i = 1 tot 100 stap 3 rijen (i). Interieur. Kleur = RGB (200, 200, 200) Volgende i Einde sub

Bekijk het resultaat van het uitvoeren van deze macro.

Een lus gebruiken om achtergrondschaduw toe te passen op rijen.

Een For-Next-voorbeeld met een Exit For-statement

Een For-Next-lus kan ook een of meer Exit For-instructies bevatten binnen de lus. Wanneer VBA deze instructie tegenkomt, wordt de lus onmiddellijk beëindigd.

In het volgende voorbeeld ziet u de instructie Exit For. Deze routine is een functieprocedure die bedoeld is om te worden gebruikt in een werkbladformule.De functie accepteert één argument (een variabele met de naam Str) en retourneert de tekens links van het eerste cijfer. Als het argument bijvoorbeeld "KBR98Z" is, geeft de functie "KBR. "

Functie TextPart (Str) Dim i As Long TextPart =" "For i = 1 To Len (Str) If IsNumeric (Mid (Str, i, 1)) Then Exit For Else TextPart = TextPart & Mid (Str, i, 1) End If Next i End Function

De For-Next-lus begint met 1 en eindigt met het nummer dat het aantal tekens in de tekenreeks vertegenwoordigt. De code gebruikt de Mid-functie van VBA om één enkel teken binnen de lus te extraheren. Als een numeriek teken wordt gevonden, wordt de instructie Exit For uitgevoerd en eindigt de lus voortijdig.

Als het teken niet numeriek is, wordt het toegevoegd aan de geretourneerde waarde (dit is hetzelfde als de naam van de functie). De enige keer dat de lus elk teken onderzoekt, is of de tekenreeks is doorgegeven omdat het argument geen numerieke tekens bevat.

Een genest voorbeeld-voorbeeld

U kunt een willekeurig aantal instructies in de lus plaatsen en For-Next-lussen in andere For-Next-lussen nestelen.

In het volgende voorbeeld wordt een geneste For-Next-lus gebruikt om willekeurige getallen in te voegen in een cellenbereik van 12 rijen met 5 kolommen. Merk op dat de routine eenmaal de binnenste lus (de lus met de Row-teller) uitvoert voor elke iteratie van de buitenste lus (de lus met de Col-counter). Met andere woorden, de routine voert de Cells (Row, Col) = Rnd-statement 60 keer uit.

Deze cellen zijn gevuld met een geneste For-Next-lus.
Sub FillRange () Dim Col Als lange dimrij zo lang voor kolom = 1 tot 5 voor rij = 1 tot 12 cellen (rij, kolom) = Rnd volgende rij volgende Col End Sub

Het volgende voorbeeld gebruikt genest voor -Volgende lussen om een ​​driedimensionale array te initialiseren met de waarde 100. Deze routine voert de instructie uit in het midden van alle lussen (de toewijzingsinstructie) 1, 000 keer (10 * 10 * 10), telkens met een andere combinatie van waarden voor i, j en k:

Sub NestedLoops () Dim MyArray (10, 10, 10) Dim i As Long Dim j As Long Dim k As Long For i = 1 Tot 10 For j = 1 Tot 10 Voor k = 1 tot 10 MyArray (i, j, k) = 100 Volgende k Volgende j Volgende i 'Andere verklaringen gaan hier Einde Sub

Hier is een laatste voorbeeld dat geneste For-Next-lussen gebruikt, met een stapwaarde. Met deze procedure wordt een dambord gemaakt door de achtergrondkleur van afwisselende cellen te wijzigen.

Lussen gebruiken om een ​​dambordpatroon te maken.

De Row-teller loopt van 1 tot 8. Een If-Then-constructie bepaalt welke geneste For-Next-structuur moet worden gebruikt. Voor oneven genummerde rijen begint de Col-counter met 2. Voor even genummerde rijen begint de Col-counter met 1. Beide loops gebruiken een Step-waarde van 2, dus andere cellen worden beïnvloed. Twee extra verklaringen maken de cellen vierkant (net als een echt dambord).

Submaakcontrolerboard () Dim R As Long, C As Long For R = 1 tot 8 If WorksheetFunction. IsOdd (R) Vervolgens voor C = 2 tot 8 Stap 2 Cellen (R, C). Interieur. Kleur = 255 Volgende C anders Voor C = 1 tot 8 Stap 2 Cellen (R, C). Interieur. Kleur = 255 Volgende C Einde als volgende R-rijen ("1: 8").RowHeight = 35 kolommen ("A: H"). ColumnWidth = 6. 5 End Sub
Te gebruiken hoe de For-Next Loops in Excel 2016 VBA te gebruiken - dummies

Bewerkers keuze

Geometrie-opties voor rechthoekige vormen selecteren in Photoshop CS6 - dummy's

Geometrie-opties voor rechthoekige vormen selecteren in Photoshop CS6 - dummy's

In Photoshop CS6, u kunt verschillende geometrie-opties voor Rechthoekige vormen selecteren met behulp van het tandwielpictogram op de werkbalk Opties. Hier zijn de geometrie-opties voor de rechthoek en afgeronde rechthoekige vormen. Onbeperkt: wanneer u deze optie selecteert (de standaardinstelling), bepaalt Photoshop de grootte en verhoudingen van de rechthoek terwijl u sleept. Vierkant: selecteer deze knop om ...

Hoe u Tools in Photoshop CS6 selecteert - dummies

Hoe u Tools in Photoshop CS6 selecteert - dummies

Om een ​​hulpmiddel in Photoshop CS6 te selecteren, klikt u er gewoon in het deelvenster Gereedschappen. Een kleine zwarte driehoek in de rechterbenedenhoek van een gereedschapslots geeft aan dat er meer hulpprogramma's zijn verborgen achter dat gereedschap in een vervolgmenu. Klik en houd de gewenste tool ingedrukt om toegang te krijgen tot het vervolgmenu. U hebt ook toegang tot ...

Hoe rechte lijnen te selecteren met de veelhoekige lasso in Photoshop CS6 - dummies

Hoe rechte lijnen te selecteren met de veelhoekige lasso in Photoshop CS6 - dummies

Terwijl de gewone Lasso-tool in Photoshop CS6 geweldig is voor het selecteren van golvende, ronde elementen, de veelhoekige lasso-tool schittert als het gaat om de meer gereglementeerde, rechtzijdige onderwerpen, zoals skylines van de stad, gebouwen en trappen. In tegenstelling tot het gewone gereedschap Lasso, heeft het gereedschap Polygonale lasso rubberen bandachtige eigenschappen, en in plaats van te slepen, klikt u op ...

Bewerkers keuze

Digitale fotografie en ISO - dummies

Digitale fotografie en ISO - dummies

ISO (internationale organisatie voor standaardisatie) is een instelling op uw digitale camera die de gevoeligheid regelt van je camerasensor. Als je fotografeert op een zonnige dag, heb je veel licht. Daarom kunt u de combinatie van een relatief korte sluitertijd met een relatief klein diafragma gebruiken om de afbeelding goed te belichten. ...

Digitale fototermen - dummies

Digitale fototermen - dummies

Ga op je gemak met je digitale camera door enkele digitale fotografie-lingo's en tips te leren die je kunnen helpen met verlichting , portretten en scherptediepte, zodat u uit bent en fantastische digitale foto's maakt. ISO: de gevoeligheid van de camera voor licht. Door de ISO-waarde te verhogen, kunt u foto's maken bij weinig licht zonder gebruik te maken van ...

Digitale fotobeheertaken - dummies

Digitale fotobeheertaken - dummies

Maak u bekend met de volgende taken voor digitale fotobeheer of investeer in een bepaald stuk software om doe ze voor jou. Bedenk hoe deze taken in uw workflow voor digitale fotografie passen: markeren biedt u de mogelijkheid enkele foto's te markeren als bewaarder, sommige als afgekeurd en de rest alleen te laten. Eerst markeren, omdat het sneller gaat ...

Bewerkers keuze

Kantoor 2011 voor Mac: gegevens valideren op Excel-formulieren - dummies

Kantoor 2011 voor Mac: gegevens valideren op Excel-formulieren - dummies

Het is altijd goed wanneer u kunt mensen helpen een formulier in te vullen dat u in Excel 2011 voor Mac hebt gemaakt. Eén manier is om het moeilijker te maken voor hen om fouten te maken bij het invullen van het formulier. Door gegevensvalidatie bijvoorbeeld in Excel 2011 voor Mac te gebruiken, kunt u ervoor zorgen dat ...

Kantoor 2011 voor Mac: Datums en tijden in Excel opmaken - dummies

Kantoor 2011 voor Mac: Datums en tijden in Excel opmaken - dummies

Excel 2011 voor Mac heeft fantastische mogelijkheden voor datum- en tijdberekening. Wanneer u Excel-werkbladen gebruikt, moet u slechts twee geheimen kennen: elke dag wordt weergegeven door een geheel getal, een serienummer genoemd, en delen van dagen worden vertegenwoordigd door decimale breuken. Vandaag vinden met Excel-formules Op sommige dagen word je wakker en niet ...

Tips en trucs voor Excel 2008 voor Mac - dummies

Tips en trucs voor Excel 2008 voor Mac - dummies

Hoe blijf je de baas over spreadsheets in Excel 2008 voor Mac? Gebruik deze snelle stappen voor uw meest voorkomende activiteiten. Een werkblad hernoemen Dubbelklik op een bladentabblad om de naam te wijzigen. Cellen bewerken Dubbelklik op een cel om de celformule of celinhoud op het werkblad te bewerken. File timesaver Sla uw bestanden op als Excel ...