Indholdsfortegnelse
I denne vejledning vil vi gennemgå, hvordan du bruger VBA til at løkke gennem rækker i et interval i Excel. Vi bruger løkker for at undgå at gøre det samme om og om igen. Mens vi arbejder i Microsoft Excel kan vi komme i en situation, hvor vi skal udføre den samme opgave mange gange. Vi kan nemt gøre dette ved at bruge løkker i VBA I denne artikel vil vi demonstrere 6 eksempler på at gennemløbe rækker i Excel med VBA Den løkke, som vi vil bruge i alle eksemplerne, er ' For-næste sløjfe '.
Download arbejdsbog til øvelser
Vi kan downloade arbejdsbogen til øvelser her.
VBA Loop gennem rækker i Range.xlsm6 eksempler på at gennemløbe rækker i et område med VBA i Excel
For at illustrere eksemplerne i denne vejledning vil vi bruge følgende datasæt. Datasættet indeholder salgsbeløb for de første to måneder af 5 sælgere .
1. Brug VBA i Range med Range-variabel til at gennemløbe rækker
I det første eksempel bruger vi range-variablen til at gennemløbe rækker i intervallet ved hjælp af VBA i excel. Vi vil anvende en VBA loop i følgende datasæt.
Lad os se, hvordan du udfører dette eksempel.
TRIN:
- Til at begynde med skal du gå til det aktive regneark ' Område Variabel '.
- Desuden, højreklik på og vælg indstillingen ' Se kode '. Du kan også trykke på Alt + F11 for at åbne den.
- Ovenstående handling åbner et kodevindue for det pågældende regneark.
- Skriv desuden koden i kodevinduet:
Sub VBA_Loop_through_Rows() Dim w As Range For Each w In Range("B5:D9").Rows w.Cells(1).Interior.ColorIndex = 35 Next End Sub
- Klik derefter på Kør eller tryk på F5 for at køre koden.
- Til sidst får vi resultater som følgende skærmbillede.
Læs mere: Excel VBA: Loop gennem kolonner i et område (5 eksempler)
2. Anvend VBA til at gennemløbe rækker i et område med numerisk variabel
En anden mulighed for at gennemløbe rækker i et interval er at vælge variablen. I det andet eksempel anvender vi VBA i følgende datasæt for at gennemløbe rækker i et område med numeriske variabler.
Lad os se på, hvordan du gør det med denne metode.
TRIN:
- Først, højreklik på på det aktive ark ved navn ' Numerisk værdi '.
- Vælg derefter indstillingen ' Se kode '.
- Denne handling vil åbne et kodevindue for det pågældende regneark. Du kan også trykke på Alt + F11 for at åbne dette kodevindue.
- skriv følgende kode i dette vindue:
Sub VBA_Numeric_Variable() Dim w As Integer With Range("B5").CurrentRegion For w = 1 To .Columns.Count .Columns(w).NumberFormat = "$0.00" Next End With End Sub
- Derefter skal du klikke på Kør eller tryk på F5 for at køre koden.
- Til sidst kan vi se resultater som i følgende billede. Ovenstående kode ændrer formatet af tallet til decimaltal.
Læs mere: VBA til at gennemløbe rækker og kolonner i et område i Excel (5 eksempler)
3. Excel VBA i brugervalgt område for at gennemløbe rækker i området
I det tredje eksempel bruger vi VBA i et område, der er valgt af brugeren, for at gennemløbe rækker i et område. Brugeren vil således kunne anvende en løkke i et udvalgt område af datasættet.
Lad os se de trin, der er forbundet med dette eksempel.
TRIN:
- I begyndelsen skal du vælge celleområdet ( D5:D9 ).
- Næste, højreklik på på det aktive ark med navnet ' Bruger valgt '. Vælg indstillingen ' Se kode '.
- Ovenstående kommando vil åbne en VBA kodevinduet for det aktive regneark. Du kan også åbne dette kodevindue ved at trykke på Alt + F11 Indsæt følgende kode i det tomme kodevindue:
Sub VBA_User_Selection() Dim w As Variant Set xRange = Selection For Each w In xRange MsgBox "Cell value = " & w.Value Next w End Sub
- For at køre koden for det pågældende regneark skal du derefter klikke på Kør eller tryk på F5 nøgle.
- Der vises en meddelelsesboks med den første værdi i det valgte område.
- Hvis du desuden klikker på OK returnerer den den anden værdi i det valgte område, som er celle D6 .
- Denne proces fortsætter, indtil den sidste værdi i det valgte område, som er celle D9 .
Læs mere: Sådan bruger du VBA til at tælle rækker i et område med data i Excel (5 makroer)
Lignende læsninger
- Sådan bruger du VBA til at vælge område fra aktiv celle i Excel (3 metoder)
- Excel-makro: Sortere flere kolonner med dynamisk område (4 metoder)
- Sådan konverteres Range til Array i Excel VBA (3 måder)
4. Sløjfe gennem rækker i dynamisk område med VBA
I det fjerde eksempel vil vi anvende VBA til at gennemløbe rækker i et dynamisk område. Dette eksempel er lidt anderledes end de foregående. Vi vil være i stand til at tilpasse området i sløjfen til Excel-regnearket. Vi vil bruge følgende datasæt til at illustrere denne metode. I det følgende datasæt vil vi udfylde værdierne i området ( B8:C12 ) med en bestemt værdi.
Du skal blot gennemgå nedenstående trin for at udføre denne metode.
TRIN:
- For det første, inputværdi 6 i celle B1 og C i celle B2 .
- For det andet, højreklik på på den aktive celle, og vælg indstillingen ' Se kode '.
- Denne kommando åbner en VBA kodevinduet for det aktive regneark. En anden måde at åbne kodevinduet på er ved at trykke på Alt + F11 .
- For det tredje indsætter du følgende kode i dette kodevindue:
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
- For at køre koden skal du nu klikke på Kør eller tryk på F5 nøgle.
- Som følge heraf fyldes datasættet med værdien $2500.00 på følgende måde.
BEMÆRK:
I ovenstående billede er værdien 6 repræsenterer de to første rækker i intervallet ( B8:B9 ).
- Endelig skal du indtaste værdien 9 i celle B1 i stedet for 6 Vi kan se resultatet på følgende billede.
5. Indsæt VBA til at gennemløbe hele rækken i området
I det femte eksempel vil vi se, hvordan vi kan anvende VBA for at gennemløbe hele rækken i intervallet. Dette eksempel finder positionen for en bestemt værdi fra en eller flere valgte rækker.
Så lad os se de trin, som vi skal følge for at udføre dette eksempel.
TRIN:
- Til at begynde med, højreklik på på det aktive ark ved navn ' Hele rækken '. Vælg indstillingen ' Se kode '.
- Ovenstående kommando åbner en tom VBA kodevinduet for det aktive regneark. Vi kan også få dette kodevindue frem ved at trykke på Alt + F11 .
- Indsæt derefter følgende kode i dette kodevindue:
Sub VBA_Loop_Entire_Row() Dim w As Range For Each w In Range("5:9") If w.Value = "Chris" Then MsgBox "Chris fundet på " & w.Address End If Next w End Sub
- Klik derefter på Kør eller tryk på F5 for at køre koden.
- I ovenstående billede er den fremhævede værdi ' Chris ' angiver den værdi, som vi vil søge efter. Områdeværdi ' 5:9 ' angiver, at vi vil søge efter værdien i celleområdet ( B5:B9 ).
- Endelig vises en beskedboks om, at værdien ' Chris ' er placeret i celle B6 .
Læs mere: Sådan bruger du VBA til hver række i et område i Excel
6. Gennemgå hver n-te række i området med Excel VBA
I det sidste eksempel vil vi anvende VBA til at gennemløbe alle n-te Række i området. I det følgende datasæt anvender vi farvetone på de ulige rækker i vores datarække.
Så lad os se, hvordan du udfører denne metode.
TRIN:
- Først, højreklik på på det aktive ark ved navn ' n-te række '. Vælg indstillingen ' Se kode '.
- Dernæst åbnes en tom VBA kodevinduet for det pågældende regneark. Vi kan også få dette kodevindue ved at trykke på Alt + F11 .
- Skriv derefter følgende kode i kodevinduet:
Sub ShadeRows1() Dim r As Long With Range("B5").CurrentRegion For r = 1 To .Rows.Count If r / 2 = Int(r / 2) Then 'lige rækker .Rows(r).Interior.ColorIndex = 43 End If Next End With End Sub
- Klik nu på Kør eller tryk på F5 for at køre koden.
- Endelig kan vi se, at ovenstående kode kun skygger de ulige antal rækker fra vores datasæt.
Læs mere: Excel VBA til at gennemløbe intervallet indtil tom celle (4 eksempler)
Konklusion
Afslutningsvis giver denne vejledning dig 6 eksempler på looping gennem rækker i et område med VBA i Excel. Download øvelsesarket i denne artikel for at afprøve dine færdigheder. Hvis du har spørgsmål, så skriv en kommentar i feltet nedenfor. Vores team vil forsøge at svare på din besked så hurtigt som muligt. Hold øje med flere opfindsomme Microsoft Excel løsninger i fremtiden.