Obsah
V tomto návode sa budeme venovať používaniu VBA na prechádzanie riadkov v rozsahu v Exceli. Slučky používame, aby sme zabránili opakovaniu tej istej veci. Pri práci v Microsoft Excel , môžeme sa ocitnúť v situácii, keď musíme tú istú úlohu vykonať viackrát. Môžeme to urobiť jednoducho pomocou slučiek v VBA V tomto článku si ukážeme. 6 príklady na prechádzanie riadkov v programe Excel pomocou VBA Cyklus, ktorý budeme v príkladoch používať, je Slučka For-Next '.
Stiahnite si cvičebnicu
Pracovný zošit na precvičovanie si môžeme stiahnuť odtiaľto.
VBA slučka cez riadky v Range.xlsm6 príkladov na zacyklenie riadkov v rozsahu pomocou VBA v programe Excel
Na ilustráciu príkladov z tohto návodu použijeme nasledujúci súbor údajov. Súbor údajov obsahuje sumy predaja za prvé dva mesiace 5 predajcov .
1. Použitie VBA v rozsahu s premennou rozsahu na prechádzanie riadkov
V prvom príklade použijeme premennú range na prechádzanie riadkov v rozsahu pomocou VBA v programe Excel. Použijeme VBA slučka v nasledujúcom súbore údajov.
Pozrime sa na kroky na vykonanie tohto príkladu.
KROKY:
- Na začiatku prejdite na aktívny pracovný hárok Rozsah Premenná '.
- Okrem toho, kliknutie pravým tlačidlom myši na a vyberte možnosť Zobraziť kód '. Môžete tiež stlačiť Alt + F11 na jej otvorenie.
- Uvedená akcia otvorí okno kódu pre daný pracovný hárok.
- Ďalej zadajte kód do okna kódu:
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
- Potom kliknite na Spustiť alebo stlačte F5 na spustenie kódu.
- Nakoniec dostaneme výsledky ako na nasledujúcom obrázku.
Čítajte viac: Excel VBA: slučka cez stĺpce v rozsahu (5 príkladov)
2. Použitie VBA na prechádzanie riadkov v rozsahu s číselnou premennou
Ďalšou možnosťou na prechádzanie riadkov v rozsahu je výber premennej. V druhom príklade použijeme VBA v nasledujúcom súbore údajov na prechádzanie riadkov v rozsahu s číselnými premennými.
Pozrime sa na postup pri tejto metóde.
KROKY:
- Po prvé, kliknutie pravým tlačidlom myši na na aktívnom hárku s názvom Číselná hodnota '.
- Ďalej vyberte možnosť Zobraziť kód '.
- Táto akcia otvorí okno kódu pre daný pracovný hárok. Alt + F11 otvoriť toto okno kódu.
- do tohto okna zadajte nasledujúci kód:
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
- Potom kliknite na Spustiť alebo stlačte tlačidlo F5 spustiť kód.
- Nakoniec môžeme vidieť výsledky ako na nasledujúcom obrázku. Uvedený kód mení formát čísla na desatinné miesta.
Čítajte viac: VBA na prechádzanie riadkov a stĺpcov v rozsahu v programe Excel (5 príkladov)
3. Excel VBA v rozsahu vybranom používateľom na prechádzanie riadkov v rozsahu
V treťom príklade použijeme VBA v rozsahu zvolenom používateľom na prechádzanie riadkov v rozsahu. Používateľ tak bude môcť použiť slučku vo vybranej oblasti súboru údajov.
Pozrime sa na kroky spojené s týmto príkladom.
KROKY:
- Na začiatku vyberte rozsah buniek ( D5:D9 ).
- Ďalšie, kliknutie pravým tlačidlom myši na na aktívnom hárku s názvom Vybraný používateľ '. Vyberte možnosť ' Zobraziť kód '.
- Vyššie uvedený príkaz otvorí VBA okno kódu pre aktívny pracovný hárok. Toto okno kódu môžete otvoriť aj stlačením Alt + F11 . Do tohto prázdneho okna kódu vložte nasledujúci kód:
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
- Ak chcete spustiť kód pre daný pracovný hárok, kliknite na Spustiť alebo stlačte tlačidlo F5 kľúč.
- Zobrazí sa teda okno správy s prvou hodnotou vybraného rozsahu.
- Okrem toho, ak kliknete na OK vráti druhú hodnotu vybraného rozsahu, ktorou je bunka D6 .
- Tento proces bude pokračovať až do poslednej hodnoty vybraného rozsahu, ktorou je bunka D9 .
Prečítajte si viac: Ako používať VBA na počítanie riadkov v rozsahu s údajmi v programe Excel (5 makier)
Podobné čítania
- Ako používať VBA na výber rozsahu z aktívnej bunky v programe Excel (3 metódy)
- Makro programu Excel: Triedenie viacerých stĺpcov pomocou dynamického rozsahu (4 metódy)
- Ako previesť rozsah na pole v programe Excel VBA (3 spôsoby)
4. Prechádzanie riadkov v dynamickom rozsahu pomocou VBA
Vo štvrtom príklade použijeme VBA na prechádzanie riadkov v dynamickom rozsahu. Tento príklad sa mierne líši od predchádzajúcich. Rozsah v cykle budeme môcť prispôsobiť pracovnému listu excelu. Na ilustráciu tejto metódy použijeme nasledujúci súbor údajov. V nasledujúcom súbore údajov vyplníme hodnoty rozsahu ( B8:C12 ) s konkrétnou hodnotou.
Na vykonanie tejto metódy stačí prejsť nižšie uvedenými krokmi.
KROKY:
- Po prvé, vstupná hodnota 6 v bunke B1 a C v bunke B2 .
- Po druhé, kliknutie pravým tlačidlom myši na na aktívnu bunku a vyberte možnosť Zobraziť kód '.
- Tento príkaz otvorí VBA Ďalším spôsobom, ako otvoriť okno kódu pre aktívny pracovný hárok, je stlačiť Alt + F11 .
- Po tretie vložte nasledujúci kód do tohto okna kódu:
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
- Ak chcete spustiť kód, kliknite na Spustiť alebo stlačte tlačidlo F5 kľúč.
- Výsledkom je, že súbor údajov sa naplní hodnotou $2500.00 nasledujúcim spôsobom.
POZNÁMKA:
Na vyššie uvedenom obrázku je hodnota 6 predstavuje prvé dva riadky rozsahu ( B8:B9 ).
- Nakoniec zadajte hodnotu 9 v bunke B1 namiesto 6 Výsledky môžeme vidieť na nasledujúcom obrázku.
5. Vloženie VBA na vytvorenie slučky cez celý riadok v rozsahu
V piatom príklade uvidíme, ako môžeme použiť VBA na prechádzanie celého riadku v rozsahu. Tento príklad nájde pozíciu konkrétnej hodnoty z vybraného jedného alebo viacerých riadkov.
Pozrime sa teda na kroky, ktoré vykonáme pri realizácii tohto príkladu.
KROKY:
- Na začiatok, kliknutie pravým tlačidlom myši na na aktívnom hárku s názvom Celý rad '. Vyberte možnosť ' Zobraziť kód '.
- Vyššie uvedený príkaz otvorí prázdny VBA okno kódu pre aktívny pracovný hárok. Toto okno kódu môžeme získať aj stlačením Alt + F11 .
- Potom do tohto okna kódu vložte nasledujúci kód:
Sub VBA_Loop_Entire_Row() Dim w As Range For Each w In Range("5:9") If w.Value = "Chris" Then MsgBox "Chris found at " & w.Address End If Next w End Sub
- Potom kliknite na Spustiť alebo stlačte tlačidlo F5 spustiť kód.
- Na vyššie uvedenom obrázku je zvýraznená hodnota Chris ' označuje hodnotu, ktorú budeme hľadať. Hodnota rozsahu ' 5:9 ' označuje, že budeme hľadať hodnotu v rozsahu buniek ( B5:B9 ).
- Nakoniec sa zobrazí okno so správou, že hodnota Chris ' sa nachádza v bunke B6 .
Prečítajte si viac: Ako používať VBA pre každý riadok v rozsahu v programe Excel
6. Prechádzanie každého n-teho riadku v rozsahu pomocou Excel VBA
V poslednom príklade použijeme VBA prechádzať v slučke cez každý n-tá Riadok v rozsahu. V nasledujúcom súbore údajov použijeme farebné tieňovanie na nepárny počet riadkov nášho rozsahu údajov.
Pozrime sa teda na postup pri vykonávaní tejto metódy.
KROKY:
- Po prvé, kliknutie pravým tlačidlom myši na na aktívnom hárku s názvom n-ty riadok '. Vyberte možnosť ' Zobraziť kód '.
- Potom sa otvorí prázdny VBA okno kódu pre daný pracovný hárok. Toto okno kódu môžeme získať aj stlačením Alt + F11 .
- Potom do tohto okna kódu zadajte nasledujúci kód:
Sub ShadeRows1() Dim r As Long With Range("B5").CurrentRegion For r = 1 To .Rows.Count If r / 2 = Int(r / 2) Then 'párne riadky .Rows(r).Interior.ColorIndex = 43 End If Next End With End Sub
- Teraz kliknite na Spustiť alebo stlačte tlačidlo F5 spustiť kód.
- Nakoniec vidíme, že vyššie uvedený kód odstráni len nepárne riadky z nášho súboru údajov.
Čítajte viac: Excel VBA na zacyklenie rozsahu až do prázdnej bunky (4 príklady)
Záver
Na záver vám tento návod poskytne 6 príklady prechádzania riadkov v rozsahu s VBA v programe Excel. Stiahnite si cvičný pracovný list obsiahnutý v tomto článku a vyskúšajte si svoje zručnosti. Ak máte akékoľvek otázky, zanechajte komentár v poli nižšie. Náš tím sa pokúsi odpovedať na vašu správu čo najskôr. Sledujte ďalšie vynaliezavé Microsoft Excel riešenia v budúcnosti.