Obsah
Niekedy potrebujeme pri používaní veľkého súboru údajov v programe Excel skryť niektoré konkrétne riadky, aby sme dosiahli lepšiu čitateľnosť. Makro VBA je najefektívnejšia, najrýchlejšia a najbezpečnejšia metóda na spustenie akejkoľvek operácie v programe Excel. V tomto článku vám ukážeme, ako skryť riadky v programe Excel na základe rôznych kritérií pomocou makra VBA.
Stiahnite si pracovný zošit
Bezplatný cvičný zošit Excel si môžete stiahnuť odtiaľto.
Skrytie riadkov pomocou VBA.xlsm
14 metód pomocou VBA na skrytie riadkov v programe Excel
V tejto časti sa budeme zaoberať 12 rôznymi metódami s VBA na skryť riadky v programe Excel. Príklad, ktorý budeme používať v celom článku, je uvedený nižšie.
1. Vloženie VBA na skrytie jedného riadku v programe Excel
Ak chcete skryť jeden riadok s VBA potom postupujte podľa krokov uvedených nižšie. V našom prípade budeme skryť riadok číslo 5 ( Priezvisko ) z nášho súboru údajov.
Kroky:
- Tlač Alt + F11 na klávesnici alebo prejdite na kartu Vývojár -> Visual Basic otvoriť Editor jazyka Visual Basic .
- Vo vyskakovacom okne kódu kliknite na paneli ponúk na položku Vložiť -> Modul .
- Skopírujte nasledujúci kód a vložte ho do okna kódu.
Sub HideSingleRow() Worksheets("Single").Range("5:5").EntireRow.Hidden = True End Sub
Váš kód je teraz pripravený na spustenie.
Tu,
- Pracovné hárky("Single") = Nastaviť názov pracovného listu.
- Rozsah("5:5") = Pass riadok číslo 5 vo vnútri Rozsah metóda.
- Tlač F5 na klávesnici alebo na paneli ponúk vyberte Run -> Run Sub/UserForm Môžete tiež jednoducho kliknúť na malá ikona Play na paneli podponúk, aby ste makro spustili.
Všimnite si na obrázku nižšie, riadok číslo 5 sa po vykonaní príkazu VBA kód.
Prečítajte si viac: Vzorec na skrytie riadkov v programe Excel (7 metód)
2. Vloženie makra na skrytie súvislých riadkov v programe Excel
Naučili ste sa, ako skryť jeden riadok pomocou VBA Ale predpokladajme, že chcete skryť rozsah riadkov ktoré sú susediace . Môžete to urobiť aj pomocou VBA v programe Excel. skryť riadky číslo 5 až 7 z nášho vyššie uvedeného súboru údajov.
Kroky:
- Rovnaký spôsob ako predtým, otvoriť Editor jazyka Visual Basic z Vývojár karta a Vložte a Modul v okne kódu.
- V okne kódu skopírujte nasledujúci kód a vložte ho.
Sub HideContiguousRows() Worksheets("Contiguous").Range("5:7").EntireRow.Hidden = True End Sub
Váš kód je teraz pripravený na spustenie.
Tu,
- Pracovné listy("Súvislé") = Nastaviť názov pracovného listu.
- Rozsah("5:7") = Pass riadok číslo 5 až 7 vo vnútri Rozsah metóda.
- Spustiť tento kód a na nasledujúcom obrázku vidíte, že riadky 5 až 7 sú teraz skryté.
Prečítajte si viac: Ako skryť a zrušiť riadky v programe Excel (6 najjednoduchších spôsobov)
3. Vloženie makra na oddelenie nesúvislých riadkov
Tentoraz sa naučíte, ako skryť riadky v programe Excel, ktoré sú nesúvislé s VBA S naším súborom údajov je kód na skryť riadky 5, 6, 8 a 9 sú uvedené nižšie.
Kroky:
- Ako už bolo uvedené, otvorené Editor jazyka Visual Basic z Vývojár karta a Vložte a Modul v okne kódu.
- V okne kódu skopírujte nasledujúci kód a vložte ho.
Sub HideNonContiguousRows() Worksheets("Non-Contiguous").Range("5:6, 8:9").EntireRow.Hidden = True End Sub
Váš kód je teraz pripravený na spustenie.
Tu,
- Pracovné listy("Nesúvislé") = Nastaviť názov pracovného listu.
- Rozsah("5:6, 8:9") = Pass riadok číslo 5 až 6 a 8 až 9 vo vnútri Rozsah metóda.
- Spustiť tento kus kódu a uvidíte, že riadky 5 až 6 a 8 až 9 sú skryté na nasledujúcom obrázku.
Prečítajte si viac: Ako skryť riadky v programe Excel (6 účinných metód)
4. Makro na skrytie všetkých riadkov obsahujúcich texty v programe Excel
Ak chcete skryť všetky riadky, ktoré obsahujú text potom postupujte podľa nižšie uvedených krokov.
Kroky:
- Otvoriť Editor jazyka Visual Basic z Vývojár karta a Vložte a Modul v okne kódu.
- V okne kódu skopírujte nasledujúci kód a vložte ho.
Sub HideAllRowsContainsText() LastRow = 1000 'Predpokladajme, že v súbore údajov je 1000 riadkov For i = 1 To LastRow 'Prejdite každý riadok a skontrolujte požadovanú podmienku 'Skryť všetky riadky s textovými údajmi If IsNumeric(Range("C" & i)) = False Then Rows(i).EntireRow.Hidden = True Next End Sub
Váš kód je teraz pripravený na spustenie.
Tu,
- IsNumeric(Range("C" & i)) = Údaje v našom súbore údajov začínajú od stĺpec C, tak sme prešli C vo vnútri Rozsah metóda.
- Spustiť tento kód a všimnete si. všetky riadky ktoré boli obsahujúce text sú teraz skryté.
Prečítajte si viac: Ako zrušiť skrytie viacerých riadkov v programe Excel (9 metód)
5. Makro na zakrytie všetkých riadkov obsahujúcich čísla v programe Excel
A ak chcete skryť všetky riadky, ktoré obsahujú číselné hodnoty s VBA potom postupujte podľa nižšie uvedených krokov.
Kroky:
- Otvoriť Editor jazyka Visual Basic z Vývojár karta a Vložte a Modul v okne kódu.
- V okne kódu skopírujte nasledujúci kód a vložte ho.
Sub HideAllRowsContainsNumbers() LastRow = 1000 'Predpokladajme, že v súbore údajov je 1000 riadkov For i = 4 To LastRow 'Prejdeme každý riadok a skontrolujeme požadovanú podmienku 'Nastavíme i = 4, pretože naše údaje začínajú od riadku 4 'Skryjeme všetky riadky s číselnými údajmi If IsNumeric(Range("C" & i)) = True Then Rows(i).EntireRow.Hidden = True Next End Sub
Váš kód je teraz pripravený na spustenie.
Tu,
- IsNumeric(Range("C" & i)) = Údaje v našom súbore údajov začínajú od stĺpec C, tak sme prešli C vo vnútri Rozsah metóda.
- Spustiť tento kód a všimnite si, že všetky riadky ktoré boli obsahujúce číselné hodnoty sú teraz skryté.
Prečítajte si viac: Skrytie duplicitných riadkov na základe jedného stĺpca v programe Excel (4 metódy)
6. Makro na skrytie riadkov obsahujúcich nulu (0) v programe Excel
Predpokladajme, že chcete skryť iba riadky z určitého stĺpca, ktoré sú držanie 0 (nula) Pozrite sa na nasledujúci súbor údajov, kde Stĺpec E drží 0 v riadok 7 a 82 v riadku 10 Naučíme sa, ako skryť iba riadok, v ktorom je 0 ( riadok 7 ) s VBA v programe Excel.
Kroky:
- Otvoriť Editor jazyka Visual Basic z Vývojár karta a Vložte a Modul v okne kódu.
- V okne kódu skopírujte nasledujúci kód a vložte ho.
Sub HideRowContainsZero() LastRow = 1000 'Predpokladajme, že v súbore údajov je 1000 riadkov For i = 4 To LastRow 'Prechádzame každý riadok a kontrolujeme požadovanú podmienku 'Nastavíme i = 4, pretože naše údaje začínajú od riadku 4 'Skryjeme riadok obsahujúci 0 v stĺpci E If Range("E" & i) = 0 Then Rows(i).EntireRow.Hidden = True Next End Sub
Váš kód je teraz pripravený na spustenie.
- Spustiť tento kód a všimnite si, že riadok ( riadok 7 ), ktoré obsahovali 0 na stránke stĺpec E je teraz skrytá, zatiaľ čo riadok 10 ktorá nesie 82 nie je skrytý.
Prečítajte si viac: Ako skryť prázdne riadky v programe Excel VBA (4 užitočné metódy)
7. Implementácia makra na skrytie riadkov so zápornými hodnotami v programe Excel
Rovnako ako môžete skryť riadky, ktoré obsahujú nulu z rovnakého stĺpca, môžete skryť riadky so zápornými hodnotami S nižšie uvedeným súborom údajov, kde stĺpec E obsahuje záporné aj kladné hodnoty, uvidíme kód, ktorý skryje len zápornú hodnotu.
Kroky:
- Otvoriť Editor jazyka Visual Basic z Vývojár karta a Vložte a Modul v okne kódu.
- V okne kódu skopírujte nasledujúci kód a vložte ho.
Sub HideRowContainsNegative() LastRow = 1000 'Predpokladajme, že v súbore údajov je 1000 riadkov For i = 4 To LastRow 'Prejdeme každý riadok a skontrolujeme požadovanú podmienku 'Nastavíme i = 4, pretože naše údaje začínajú od riadku 4 'Aby sme skryli riadok obsahujúci záporné hodnoty v stĺpci E If IsNumeric(Range("E" & i)) = True Then If Range("E" & i) <0 ThenRows(i).EntireRow.Hidden = True End If Next End Sub
Váš kód je teraz pripravený na spustenie.
- Spustiť tento kód a všimnite si, že riadok 7 ktorý obsahoval záporná hodnota (-10) na stránke stĺpec E je teraz skrytá, zatiaľ čo riadok 10 ktorá nesie 82 nie je skrytý.
8. Vloženie VBA na zakrytie riadkov obsahujúcich kladné hodnoty v programe Excel
Tentoraz so súborom údajov uvedeným nižšie, kde stĺpec E obsahuje obe nulové kladné hodnoty, uvidíme VBA kód, ktorý skrýva iba pozitívny .
Kroky:
- Otvoriť Editor jazyka Visual Basic z Vývojár karta a Vložte a Modul v okne kódu.
- V okne kódu skopírujte nasledujúci kód a vložte ho.
Sub HideRowContainsPositive() LastRow = 1000 'Predpokladajme, že v súbore údajov je 1000 riadkov For i = 4 To LastRow 'Prejdeme každý riadok a skontrolujeme požadovanú podmienku 'Nastavíme i = 4, pretože naše údaje začínajú od riadku 4 'Skryjeme riadok obsahujúci kladné hodnoty v stĺpci E If IsNumeric(Range("E" & i)) = True Then If Range("E" & i)> 0 ThenRows(i).EntireRow.Hidden = True End If Next End Sub
Váš kód je teraz pripravený na spustenie.
- Spustiť tento kód a všimnite si, že riadok 7 ktorý obsahoval kladná hodnota (55) na stránke stĺpec E je teraz skrytá, zatiaľ čo riadok 10 ktorá nesie 0 nie je skrytý.
Prečítajte si viac: Skrytie riadkov v programe Excel na základe hodnoty bunky (14 príkladov)
9. Makro na skrytie riadkov, ktoré obsahujú nepárne čísla v programe Excel
Môžete skryť riadky s nepárnymi číslami v príklade, ktorý sme uviedli na začiatku tohto článku, stĺpec E drží párne aj nepárne čísla v riadky 7 a 10 Naučíme sa kód skrytie riadku ktorý drží nepárne čísla iba.
Kroky:
- Otvoriť Editor jazyka Visual Basic z Vývojár karta a Vložte a Modul v okne kódu.
- V okne kódu skopírujte nasledujúci kód a vložte ho.
Sub HideRowContainsOdd() LastRow = 1000 'Predpokladajme, že v súbore údajov je 1000 riadkov For i = 4 To LastRow 'Prejdeme každý riadok a skontrolujeme požadovanú podmienku 'Nastavíme i = 4, pretože naše údaje začínajú od riadku 4 'Skryjeme riadok obsahujúci kladné hodnoty v stĺpci E If IsNumeric(Range("E" & i)) = True Then If Range("E" & i) Mod 2 = 1 ThenRows(i).EntireRow.Hidden = True End If Next End Sub
Váš kód je teraz pripravený na spustenie.
- Spustiť tento kus kódu a uvidíte, že len riadok 7 ktorý obsahoval nepárne číslo (55) na stránke stĺpec E je teraz skrytá, zatiaľ čo riadok 10 ktorá nesie párne číslo (82) nie je skrytý.
10. VBA na skrytie riadkov obsahujúcich párne čísla v programe Excel
Podobne môžete skryť riadky, ktoré majú párne čísla v príklade, ktorý sme uviedli na začiatku tohto článku, stĺpec F drží párne aj nepárne čísla v riadky 7 a 10 Naučíme sa kód skrytie riadku ktorý drží párne čísla iba.
Kroky:
- Otvorte stránku Editor jazyka Visual Basic z Vývojár karta a Vložte a Modul v okne kódu.
- V okne kódu skopírujte nasledujúci kód a vložte ho.
Sub HideRowContainsEven() LastRow = 1000 'Predpokladajme, že v súbore údajov je 1000 riadkov For i = 4 To LastRow 'Prejdeme každý riadok a skontrolujeme požadovanú podmienku 'Nastavíme i = 4, pretože naše údaje začínajú od riadku 4 'Skryjeme riadok obsahujúci kladné hodnoty v stĺpci F If IsNumeric(Range("F" & i)) = True Then If Range("F" & i) Mod 2 = 0 ThenRows(i).EntireRow.Hidden = True End If Next End Sub
Váš kód je teraz pripravený na spustenie.
- Spustiť tento kód a uvidíte, že len riadok 7 ktorý obsahoval párne číslo (100) na stránke stĺpec F je teraz skrytá, zatiaľ čo riadok 10 ktorá nesie nepárne číslo (75) nie je skrytý.
Prečítajte si viac: Excel VBA: Skrytie všetkých riadkov v programe Excel (5 praktických príkladov)
11. Vloženie makra na skrytie riadkov, ktoré sú väčšie ako určitá podmienka
Môžete skryť riadky, ktoré sú väčšie ako konkrétnu hodnotu s VBA Excel. Predpokladajme, že chcete skryť riadky z stĺpec E kde je hodnota viac ako 80 . Tu je návod, ako to urobiť:
Kroky:
- Otvoriť Editor jazyka Visual Basic z Vývojár karta a Vložte a Modul v okne kódu.
- V okne kódu skopírujte nasledujúci kód a vložte ho.
Sub HideRowContainsGreater() LastRow = 1000 'Predpokladajme, že v súbore údajov je 1000 riadkov For i = 4 To LastRow 'Prejdeme každý riadok a skontrolujeme požadovanú podmienku 'Nastavíme i = 4, pretože naše údaje začínajú od riadku 4 'Aby sme skryli riadok obsahujúci kladné hodnoty v stĺpci E If IsNumeric(Range("E" & i)) = True Then If Range("E" & i)> 80 ThenRows(i).EntireRow.Hidden = True End If Next End Sub
Váš kód je teraz pripravený na spustenie.
- Spustiť tento kód a uvidíte, že len riadok 10 ktorý obsahoval 82 (ktorá je väčšia ako 80) v stĺpec E je teraz skrytá, zatiaľ čo riadok 7 ktorá nesie 55 nie je skrytý.
Prečítajte si viac: Skrytie riadkov na základe hodnoty bunky pomocou podmieneného formátovania v programe Excel
12. Vloženie makra na pokrytie riadkov, ktoré sú menšie ako určitá podmienka v programe Excel
Môžete tiež skryť riadky, ktoré sú menšie ako konkrétnu hodnotu s VBA Excel. Predpokladajme, že chcete skryť riadky z stĺpec E kde je hodnota menej ako 80 . Tu je návod, ako to urobiť:
Kroky:
- Otvoriť Editor jazyka Visual Basic z Vývojár karta a Vložte a Modul v okne kódu.
- V okne kódu skopírujte nasledujúci kód a vložte ho.
Sub HideRowContainsLess() LastRow = 1000 'Predpokladajme, že v súbore údajov je 1000 riadkov For i = 4 To LastRow 'Prejdeme každý riadok a skontrolujeme požadovanú podmienku 'Nastavíme i = 4, pretože naše údaje začínajú od riadku 4 'Aby sme skryli riadok obsahujúci kladné hodnoty v stĺpci E If IsNumeric(Range("E" & i)) = True Then If Range("E" & i) <80 ThenRows(i).EntireRow.Hidden = True End If Next End Sub
Váš kód je teraz pripravený na spustenie.
- Spustiť tento kód a uvidíte, že len riadok 7 ktorý obsahoval 55 (čo je menej ako 80) v stĺpec E je teraz skrytá, zatiaľ čo riadok 10 to znamená. prenášanie 82 nie je skrytý.
13. Skrytie riadkov na základe hodnoty textu bunky pomocou makra
Predpokladajme, že chcete skryť riadok, v ktorom sa nachádza určitý text V našom prípade uvedieme príklad s riadkom, ktorý obsahuje slovo " Chémia ", riadok 6 a poskytne vám kód, ako tento riadok skryť.
Kroky:
- Otvoriť Editor jazyka Visual Basic z Vývojár karta a Vložte a Modul v okne kódu.
- V okne kódu skopírujte nasledujúci kód a vložte ho.
Sub HideRowCellTextValue() StartRow = 4 LastRow = 10 iCol = 4 For i = StartRow To LastRow If Cells(i, iCol).Value "Chemistry" Then Cells(i, iCol).EntireRow.Hidden = False Else Cells(i, iCol).EntireRow.Hidden = True End If Next i End Sub
Váš kód je teraz pripravený na spustenie.
Tu,
- StartRow = 4 -> Prvý rad súboru údajov.
- LastRow = 10 -> Posledný riadok súboru údajov.
- iCol = 4 -> adresa stĺpca že obsahuje text hodnota.
- Spustiť tento kód a všimnite si, že riadok číslo 6 ktorý sa skladá zo slova " Chémia " je skrytá.
14. Makro na skrytie riadkov na základe číselnej hodnoty bunky v programe Excel
Predtým ste videli, ako skryť riadok na základe hodnoty textu bunky, tentoraz sa dozviete, ako to urobiť, keď hodnota je číselná V našom prípade uvedieme príklad s riadkom, ktorý obsahuje číselnú hodnotu " 87 ", riadok 7 a poskytne vám kód, ako tento riadok skryť.
Kroky:
- Otvoriť Editor jazyka Visual Basic z Vývojár karta a Vložte a Modul v okne kódu.
- V okne kódu skopírujte nasledujúci kód a vložte ho.
Sub HideRowCellNumValue() StartRow = 4 LastRow = 10 iCol = 4 For i = StartRow To LastRow If Cells(i, iCol).Value "87" Then Cells(i, iCol).EntireRow.Hidden = False Else Cells(i, iCol).EntireRow.Hidden = True End If Next i End Sub
Váš kód je teraz pripravený na spustenie.
Tu,
- StartRow = 4 -> Prvý rad súboru údajov.
- LastRow = 10 -> Posledný riadok súboru údajov.
- iCol = 4 -> adresa stĺpca že obsahuje text hodnota.
- Spustiť tento kód a všimnite si, že riadok číslo 7 ktorá sa skladá z číselnej hodnoty " 87 " je skrytá.
Prečítajte si viac: Ako skryť riadky na základe hodnoty bunky v programe Excel (5 metód)
Záver
Tento článok vám ukázal, ako skryť riadky v programe Excel pomocou VBA . dúfam, že tento článok bol pre vás veľmi prínosný. Ak máte akékoľvek otázky týkajúce sa tejto témy, neváhajte sa opýtať.