Innehållsförteckning
I den här handledningen kommer vi att gå igenom hur man använder VBA för att gå igenom rader i ett intervall i Excel. Vi använder slingor för att undvika att göra samma sak om och om igen. När vi arbetar i Microsoft Excel kan vi hamna i en situation där vi måste utföra samma uppgift flera gånger. Vi kan enkelt göra detta med hjälp av slingor i VBA I den här artikeln kommer vi att visa 6 exempel på hur man loopar genom rader i excel med VBA Den slinga som vi kommer att använda i exemplen är slingan ' För-nästa slinga '.
Ladda ner övningsboken
Vi kan ladda ner arbetsboken för övningar här.
VBA Loop Through Rows i Range.xlsm6 exempel på hur du går igenom rader i ett intervall med VBA i Excel
För att illustrera exemplen i den här handledningen använder vi följande dataset. Datasetetet innehåller försäljningsbelopp för de två första månaderna i 5 säljare .
1. Använd VBA i Range med Range-variabel för att gå igenom rader
I det första exemplet använder vi range-variabeln för att slinga oss igenom rader i intervallet med hjälp av VBA i excel. Vi kommer att tillämpa en VBA slinga i följande dataset.
Låt oss se stegen för att utföra det här exemplet.
STEG:
- Till att börja med går du till det aktiva arbetsbladet ' Intervall Variabel '.
- Dessutom, högerklicka på och välj alternativet ' Visa kod '. Du kan också trycka på Alt + F11 för att öppna den.
- Ovanstående åtgärd öppnar ett kodfönster för det arbetsbladet.
- Skriv dessutom koden i kodfönstret:
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
- Klicka sedan på Kör eller tryck på F5 för att köra koden.
- Slutligen får vi ett resultat som följande skärmdump.
Läs mer: Excel VBA: Slinga dig genom kolumnerna i ett intervall (5 exempel)
2. Använd VBA för att gå igenom rader i ett intervall med numerisk variabel
Ett annat alternativ för att gå igenom rader i ett intervall är att välja variabeln. I det andra exemplet tillämpar vi VBA i följande dataset för att gå igenom rader i intervall med numeriska variabler.
Låt oss ta en titt på stegen för att göra den här metoden.
STEG:
- Först, högerklicka på på det aktiva bladet som heter ' Numeriskt värde '.
- Därefter väljer du alternativet ' Visa kod '.
- Denna åtgärd öppnar ett kodfönster för det arbetsbladet. Du kan också trycka på Alt + F11 för att öppna kodfönstret.
- Skriv följande kod i det fönstret:
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
- Klicka sedan på Kör eller tryck på F5 för att köra koden.
- Slutligen kan vi se ett resultat som följande bild. Ovanstående kod ändrar formatet på talet till decimalpunkter.
Läs mer: VBA för att gå igenom rader och kolumner i ett intervall i Excel (5 exempel)
3. Excel VBA i ett användarvald område för att gå igenom rader i området
I det tredje exemplet använder vi VBA i ett område som användaren har valt för att gå igenom rader i ett område. Användaren kommer alltså att kunna använda en loop i ett valt område av datamängden.
Låt oss se vilka steg som ingår i det här exemplet.
STEG:
- I början väljer du cellområdet ( D5:D9 ).
- Nästa, högerklicka på på det aktiva bladet som heter ' Användaren har valt '. Välj alternativet ' Visa kod '.
- Ovanstående kommando öppnar en VBA kodfönstret för det aktiva arbetsbladet. Du kan också öppna kodfönstret genom att trycka på Alt + F11 Lägg in följande kod i det tomma kodfönstret:
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
- För att köra koden för det arbetsbladet klickar du sedan på Kör eller tryck på F5 nyckel.
- En meddelanderuta visas som visar det första värdet i det valda intervallet.
- Om du dessutom klickar på OK kommer det att återge det andra värdet i det valda intervallet, vilket är cell D6 .
- Denna process fortsätter tills det sista värdet i det valda intervallet som är cell D9 .
Läs mer: Hur du använder VBA för att räkna rader i ett intervall med data i Excel (5 makron)
Liknande läsningar
- Hur man använder VBA för att välja intervall från aktiv cell i Excel (3 metoder)
- Excel-makro: Sortera flera kolumner med dynamiskt intervall (4 metoder)
- Hur du konverterar intervall till array i Excel VBA (3 sätt)
4. Slinga dig genom rader i Dynamic Range med VBA
I det fjärde exemplet tillämpar vi VBA för att gå igenom rader i ett dynamiskt intervall. Det här exemplet skiljer sig något från de tidigare. Vi kommer att kunna anpassa intervallet i slingan för Excel-arbetsbladet. Vi kommer att använda följande dataset för att illustrera denna metod. I följande dataset kommer vi att fylla värdena i intervallet ( B8:C12 ) med ett visst värde.
Följ bara nedanstående steg för att utföra denna metod.
STEG:
- För det första, ingångsvärde 6 i cellen B1 och C i cellen B2 .
- För det andra, högerklicka på på den aktiva cellen och välj alternativet ' Visa kod '.
- Detta kommando öppnar en VBA kodfönstret för det aktiva arbetsbladet. Ett annat sätt att öppna kodfönstret är att trycka på Alt + F11 .
- För det tredje lägger du in följande kod i kodfönstret:
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
- För att köra koden klickar du på Kör eller tryck på F5 nyckel.
- Som ett resultat av detta fylls datasetet med värdet $2500.00 på följande sätt.
OBS:
I bilden ovan är värdet 6 representerar de två första raderna i intervallet ( B8:B9 ).
- Slutligen anger du värdet 9 i cellen B1 i stället för 6 Vi kan se resultatet i följande bild.
5. Infoga VBA för att gå igenom hela raden i intervallet
I det femte exemplet ska vi se hur vi kan tillämpa VBA för att gå igenom hela raden i intervallet. Det här exemplet hittar positionen för ett specifikt värde från en eller flera valda rader.
Låt oss se de steg som vi kommer att följa för att utföra det här exemplet.
STEG:
- Till att börja med, högerklicka på på det aktiva bladet som heter ' Hela raden '. Välj alternativet ' Visa kod '.
- Ovanstående kommando öppnar en tom VBA kodfönstret för det aktiva arbetsbladet. Vi kan också få fram detta kodfönster genom att trycka på Alt + F11 .
- Lägg sedan in följande kod i kodfönstret:
Sub VBA_Loop_Entire_Row() Dim w As Range For Each w In Range("5:9") If w.Value = "Chris" Then MsgBox "Chris hittades på " & w.Address End If Next w End Sub
- Klicka sedan på Kör eller tryck på F5 för att köra koden.
- I bilden ovan visas det markerade värdet ' Chris ' anger det värde som vi ska söka efter. Range value ' 5:9 ' anger att vi ska söka efter värdet i cellintervallet ( B5:B9 ).
- Slutligen visas en meddelanderuta om att värdet ' Chris finns i cellen B6 .
Läs mer: Hur du använder VBA för varje rad i ett intervall i Excel
6. Slinga dig genom varje n:e rad i intervallet med Excel VBA
I det sista exemplet tillämpar vi VBA för att gå igenom varje n-te Rad i intervallet. I följande dataset kommer vi att tillämpa färgskuggning på raderna med udda antal rader i vårt dataintervall.
Låt oss se hur du utför den här metoden.
STEG:
- Först, högerklicka på på det aktiva bladet som heter ' n:e raden '. Välj alternativet ' Visa kod '.
- Därefter öppnas en tom VBA kodfönstret för det arbetsbladet. Vi kan också få fram detta kodfönster genom att trycka på Alt + F11 .
- Skriv sedan följande kod i kodfönstret:
Sub ShadeRows1() Dim r As Long With Range("B5").CurrentRegion For r = 1 To .Rows.Count If r / 2 = Int(r / 2) Then 'jämna rader .Rows(r).Interior.ColorIndex = 43 End If Next End With End Sub
- Klicka nu på Kör eller tryck på F5 för att köra koden.
- Slutligen kan vi se att koden ovan skuggar endast raderna med udda antal rader från datasetet.
Läs mer: Excel VBA för att gå igenom intervallet tills cellen är tom (4 exempel)
Slutsats
Sammanfattningsvis ger den här handledningen dig följande 6 exempel på looping genom rader i intervallet med VBA i Excel. Ladda ner övningsbladet i den här artikeln för att testa dina kunskaper. Om du har några frågor kan du lämna en kommentar i rutan nedan. Vårt team kommer att försöka svara på ditt meddelande så snart som möjligt. Håll utkik efter fler uppfinningsrika Microsoft Excel lösningar i framtiden.