VBA om door rijen te lussen in een bereik in Excel (6 voorbeelden)

  • Deel Dit
Hugh West

In deze tutorial behandelen we hoe we VBA om door rijen te lussen in een reeks in Excel. We gebruiken lussen om te voorkomen dat we steeds hetzelfde doen. Terwijl we werken in Microsoft Excel kunnen we ons in een positie bevinden waarin we dezelfde taak meerdere keren moeten uitvoeren. We kunnen dit gemakkelijk doen door lussen te gebruiken in VBA In dit artikel demonstreren we 6 voorbeelden van lussen door rijen in excel met VBA De lus die we in de voorbeelden zullen gebruiken is de ' For-Next lus '.

Download Praktijk Werkboek

We kunnen het oefenwerkboek hier downloaden.

VBA lus door rijen in bereik.xlsm

6 voorbeelden van Loop door rijen in een bereik met VBA in Excel

Om de voorbeelden van deze handleiding te illustreren, gebruiken we de volgende dataset. De dataset bevat verkoopcijfers voor de eerste twee maanden van 5 verkopers .

1. VBA gebruiken in Bereik met Bereikvariabele om door rijen te lussen

In het eerste voorbeeld zullen we de bereikvariabele gebruiken om door rijen in het bereik te lussen met behulp van VBA in excel. We zullen een VBA lus in de volgende dataset.

Laten we de stappen bekijken om dit voorbeeld uit te voeren.

STAPPEN:

  • Ga om te beginnen naar het actieve werkblad ' Bereik Variabel '.
  • Bovendien, klik met de rechtermuisknop op en selecteer de optie ' Code bekijken U kunt ook op Alt + F11 om het te openen.

  • Bovenstaande actie opent een codevenster voor dat werkblad.
  • Verder typt u de code in het codevenster:
 Sub VBA_Loop_through_Rows() Dim w As Range Voor Elke w In Range("B5:D9").Rows w.Cells(1).Interior.ColorIndex = 35 Next End Sub 
  • Klik vervolgens op de Ren of druk op F5 om de code uit te voeren.

  • Uiteindelijk krijgen we resultaten zoals de volgende schermafbeelding.

Lees meer: Excel VBA: lus door kolommen in bereik (5 voorbeelden)

2. VBA toepassen om door rijen te lopen in een bereik met een numerieke variabele

Een andere mogelijkheid om door rijen in een bereik te lussen, is het selecteren van de variabele. In het tweede voorbeeld zullen we toepassen VBA in de volgende dataset om door rijen met numerieke variabelen te lussen.

Laten we eens kijken naar de stappen om deze methode uit te voeren.

STAPPEN:

  • Eerst, klik met de rechtermuisknop op op het actieve blad met de naam ' Numerieke waarde '.
  • Selecteer vervolgens de optie ' Code bekijken '.

  • Deze actie opent een codevenster voor dat werkblad. U kunt ook op Alt + F11 om dat codevenster te openen.
  • typ de volgende code in dat venster:
 Sub VBA_Numeric_Variable() Dim w As Integer Met Range("B5").CurrentRegion For w = 1 To .Columns.Count .Columns(w).NumberFormat = "$0.00" Next End With End Sub 
  • Klik daarna op Ren of druk op de F5 om de code uit te voeren.

  • Uiteindelijk kunnen we resultaten zien zoals de volgende afbeelding. De bovenstaande code verandert het formaat van het getal in decimalen.

Lees meer: VBA om door rijen en kolommen in een bereik in Excel te lussen (5 voorbeelden)

3. Excel VBA in door gebruiker geselecteerd bereik om door rijen in bereik te lopen

In het derde voorbeeld gebruiken we VBA in een door de gebruiker geselecteerd bereik om door rijen in een bereik te lussen. De gebruiker kan dus een lus toepassen in een geselecteerd gebied van de dataset.

Laten we de stappen bekijken die bij dit voorbeeld horen.

STAPPEN:

  • Selecteer in het begin het celbereik ( D5:D9 ).

  • Volgende, klik met de rechtermuisknop op op het actieve blad met de naam ' Gebruiker geselecteerd Selecteer de optie Code bekijken '.

  • Het bovenstaande commando opent een VBA codevenster voor het actieve werkblad. U kunt dat codevenster ook openen door te drukken op Alt + F11 Plaats de volgende code in dat lege codevenster:
 Sub VBA_User_Selectie() Dim w Als Variant Set xRange = Selectie Voor Elke w In xRange MsgBox "Celwaarde = " & w.Waarde Volgende w Einde Sub 
  • Om de code voor dat werkblad uit te voeren, klikt u vervolgens op de knop Ren of druk op de F5 sleutel.

  • Er verschijnt dus een berichtvenster met de eerste waarde van het geselecteerde bereik.

  • Bovendien, als u klikt op OK zal het de tweede waarde van het geselecteerde bereik teruggeven, namelijk cel D6 .

  • Dit proces gaat door tot de laatste waarde van het geselecteerde bereik, namelijk cel D9 .

Lees meer: Hoe VBA gebruiken om rijen te tellen in een bereik met gegevens in Excel (5 macro's)

Vergelijkbare lezingen

  • Hoe VBA gebruiken om bereik te selecteren van actieve cel in Excel (3 methoden)
  • Excel Macro: Meerdere kolommen sorteren met dynamisch bereik (4 methoden)
  • Hoe bereik converteren naar array in Excel VBA (3 manieren)

4. Loop door rijen in dynamisch bereik met VBA

In het vierde voorbeeld zullen we VBA om door rijen in een dynamisch bereik te lussen. Dit voorbeeld is iets anders dan de vorige. We kunnen het bereik in de lus aanpassen voor het Excel-werkblad. We zullen de volgende dataset gebruiken om deze methode te illustreren. In de volgende dataset vullen we de waarden van het bereik ( B8:C12 ) met een specifieke waarde.

Doorloop gewoon de onderstaande stappen om deze methode uit te voeren.

STAPPEN:

  • Ten eerste, ingangswaarde 6 in de cel B1 en C in de cel B2 .
  • Ten tweede, klik met de rechtermuisknop op op de actieve cel en selecteer de optie ' Code bekijken '.

  • Dit commando opent een VBA codevenster voor het actieve werkblad. Een andere manier om dat codevenster te openen is door te drukken op Alt + F11 .
  • Voeg ten derde de volgende code in dat codevenster in:
 Sub Dynamic_Range() Dim xRange As String xRange = "B8:" + Worksheets("Dynamic Range").Cells(2, 2).Value + _ CStr(3 + Worksheets("Dynamic Range").Cells(1, 2).Value) For Each Row In Range(xRange) For Each Cell In Row Cell.Value = "$2500.00" Next Cell Next Row End Sub 
  • Om de code uit te voeren klikt u nu op de Ren of druk op de F5 sleutel.

  • Als gevolg daarvan vult de dataset zich met de waarde $2500.00 op de volgende manier.

OPMERKING:

In de bovenstaande afbeelding is de waarde 6 staat voor de eerste twee rijen van het bereik ( B8:B9 ).

  • Voer tenslotte de waarde 9 in de cel B1 in plaats van 6 Het resultaat zien we in de volgende afbeelding.

5. VBA invoegen om door de hele rij in het bereik te lussen

In het vijfde voorbeeld zullen we zien hoe we VBA Dit voorbeeld zal de positie van een specifieke waarde uit geselecteerde één of meerdere rijen vinden.

Laten we de stappen bekijken die we zullen volgen om dit voorbeeld uit te voeren.

STAPPEN:

  • Om te beginnen, klik met de rechtermuisknop op op het actieve blad met de naam ' Hele rij Selecteer de optie Code bekijken '.

  • Het bovenstaande commando opent een lege VBA codevenster voor het actieve werkblad. We kunnen dit codevenster ook krijgen door te drukken op Alt + F11 .
  • Voeg vervolgens de volgende code in dat codevenster in:
 Sub VBA_Loop_Entire_Row() Dim w As Range Voor Elke w In Range("5:9") Als w.Value = "Chris" Dan MsgBox "Chris gevonden op " & w.Address End If Next w End Sub 
  • Klik vervolgens op de Ren of druk op de F5 om de code uit te voeren.

  • In de bovenstaande afbeelding is de gemarkeerde waarde ' Chris ' geeft de waarde aan waarnaar we gaan zoeken. Bereik waarde ' 5:9 ' geeft aan dat we de waarde in het celbereik ( B5:B9 ).
  • Ten slotte verschijnt in een berichtvenster dat de waarde ' Chris ' bevindt zich in cel B6 .

Lees meer: Hoe VBA gebruiken voor elke rij in een bereik in Excel

6. Loop door elke n-de rij in het bereik met Excel VBA

In het laatste voorbeeld zullen we VBA om door elke n-de Rij in bereik. In de volgende dataset passen we kleurschakeringen toe op de rijen met oneven nummers van ons gegevensbereik.

Laten we de stappen bekijken om deze methode uit te voeren.

STAPPEN:

  • Eerst, klik met de rechtermuisknop op op het actieve blad met de naam ' n-de rij Selecteer de optie Code bekijken '.

  • Vervolgens wordt een lege VBA codevenster voor dat werkblad. We kunnen dit codevenster ook krijgen door te drukken op Alt + F11 .
  • Typ vervolgens de volgende code in dat codevenster:
 Sub ShadeRows1() Dim r Als Lang Met Range("B5").CurrentRegion Voor r = 1 Tot .Rows.Count Als r / 2 = Int(r / 2) Dan 'even rijen .Rows(r).Interior.ColorIndex = 43 End If Next End With End Sub 
  • Klik nu op de Ren of druk op de F5 om de code uit te voeren.

  • Tenslotte zien we dat bovenstaande code alleen de rijen met oneven nummers uit onze dataset schrapt.

Lees meer: Excel VBA om door Bereik te lussen tot lege cel (4 voorbeelden)

Conclusie

Tot slot geeft deze handleiding u 6 voorbeelden van looping door rijen in bereik met VBA Download het oefenwerkblad in dit artikel om uw vaardigheden op de proef te stellen. Als u vragen hebt, laat dan een reactie achter in het vak hieronder. Ons team zal proberen uw bericht zo snel mogelijk te beantwoorden. Houd een oogje in het zeil voor meer inventieve Microsoft Excel oplossingen in de toekomst.

Hugh West is een zeer ervaren Excel-trainer en -analist met meer dan 10 jaar ervaring in de branche. Hij heeft een bachelor in Accounting en Finance en een master in Business Administration. Hugh heeft een passie voor lesgeven en heeft een unieke lesaanpak ontwikkeld die gemakkelijk te volgen en te begrijpen is. Zijn deskundige kennis van Excel heeft duizenden studenten en professionals over de hele wereld geholpen hun vaardigheden te verbeteren en uit te blinken in hun carrière. Via zijn blog deelt Hugh zijn kennis met de wereld en biedt hij gratis Excel-tutorials en online trainingen aan om individuen en bedrijven te helpen hun volledige potentieel te bereiken.