Skrytí řádků v aplikaci Excel pomocí VBA (14 metod)

  • Sdílet Toto
Hugh West

Někdy potřebujeme při používání rozsáhlého souboru dat v aplikaci Excel skrýt některé konkrétní řádky pro lepší čitelnost. Makro VBA je nejefektivnější, nejrychlejší a nejbezpečnější metodou pro spuštění jakékoli operace v aplikaci Excel. V tomto článku vám ukážeme, jak na to. skrýt řádky v aplikaci Excel na základě různých kritérií pomocí makra VBA.

Stáhnout pracovní sešit

Bezplatný cvičný sešit aplikace Excel si můžete stáhnout zde.

Skrytí řádků pomocí VBA.xlsm

14 metod skrývání řádků v aplikaci Excel pomocí VBA

V této části se budeme zabývat 12 různými metodami s VBA na skrýt řádky Příklad, který budeme používat v celém článku, je uveden níže.

1. Vložení VBA pro skrytí jednoho řádku v aplikaci Excel

Pokud chcete skrýt jeden řádek s VBA pak postupujte podle níže uvedených kroků. V našem případě budeme skrýt řádek číslo 5 ( Příjmení ) z našeho souboru dat.

Kroky:

  • Tisk Alt + F11 na klávesnici nebo přejděte na kartu Vývojář -> Visual Basic otevřít Editor jazyka Visual Basic .

  • Ve vyskakovacím okně kódu klikněte na panelu nabídek na možnost Insert -> Modul .

  • Zkopírujte následující kód a vložte jej do okna kódu.
 Sub HideSingleRow() Worksheets("Single").Range("5:5").EntireRow.Hidden = True End Sub 

Váš kód je nyní připraven ke spuštění.

Zde,

  • Pracovní listy("Single") = Nastavit název pracovního listu.
  • Rozsah("5:5") = Pass řádek číslo 5 uvnitř Rozsah metoda.

  • Tisk F5 na klávesnici nebo na panelu nabídek vyberte možnost Run -> Run Sub/UserForm . Můžete také kliknout na malá ikona Play na panelu podnabídek spustíte makro.

Všimněte si na obrázku níže, řádek číslo 5 se po provedení příkazu VBA kód.

Přečtěte si více: Vzorec pro skrytí řádků v aplikaci Excel (7 metod)

2. Vložení makra pro skrytí souvislých řádků v aplikaci Excel

Naučili jste se skrýt jeden řádek pomocí VBA Ale předpokládejme, že chcete skrýt rozsah řádků které jsou sousední . To můžete udělat také pomocí VBA v Excelu. skrýt řádky číslo 5 až 7 z našeho výše uvedeného souboru dat.

Kroky:

  • Stejným způsobem jako dříve, otevřete Editor jazyka Visual Basic z Vývojář karta a Vložte a Modul v okně kódu.
  • V okně kódu zkopírujte a vložte následující kód.
 Sub HideContiguousRows() Worksheets("Contiguous").Range("5:7").EntireRow.Hidden = True End Sub 

Váš kód je nyní připraven ke spuštění.

Zde,

  • Pracovní listy("Souvislé") = Nastavit název pracovního listu.
  • Rozsah("5:7") = Pass řádek číslo 5 až 7 uvnitř Rozsah metoda.

  • Spustit tento kód a na následujícím obrázku vidíte, že řádky 5 až 7 jsou nyní skryty.

Přečtěte si více: Jak skrýt a zrušit řádky v aplikaci Excel (6 nejjednodušších způsobů)

3. Vložení makra pro oddělení nesousedících řádků

Tentokrát se dozvíte, jak skrýt řádky v aplikaci Excel, které jsou nesousedící s VBA S naším souborem dat je kód pro skrýt řádky 5, 6, 8 a 9 jsou uvedeny níže.

Kroky:

  • Jak již bylo ukázáno dříve, otevřené Editor jazyka Visual Basic z Vývojář karta a Vložte a Modul v okně kódu.
  • V okně kódu zkopírujte a vložte následující kód.
 Sub HideNonContiguousRows() Worksheets("Non-Contiguous").Range("5:6, 8:9").EntireRow.Hidden = True End Sub 

Váš kód je nyní připraven ke spuštění.

Zde,

  • Pracovní listy("Nesousedící") = Nastavit název pracovního listu.
  • Rozsah("5:6, 8:9") = Pass řádek číslo 5 až 6 a 8 až 9 uvnitř Rozsah metoda.

  • Spustit tento kus kódu a uvidíte, že řádky 5 až 6 a 8 až 9 jsou skryty na následujícím obrázku.

Přečtěte si více: Jak skrýt řádky v aplikaci Excel (6 efektivních metod)

4. Makro pro skrytí všech řádků obsahujících texty v aplikaci Excel

Pokud chcete skrýt všechny řádky obsahující text pak postupujte podle níže uvedených kroků.

Kroky:

  • Otevřít Editor jazyka Visual Basic z Vývojář karta a Vložte a Modul v okně kódu.
  • V okně kódu zkopírujte a vložte následující kód.
 Sub HideAllRowsContainsText() LastRow = 1000 'Předpokládejme, že v souboru dat je 1000 řádků For i = 1 To LastRow 'Projděte každý řádek a zkontrolujte požadovanou podmínku 'Skrytí všech řádků s textovými daty If IsNumeric(Range("C" & i)) = False Then Rows(i).EntireRow.Hidden = True Next End Sub 

Váš kód je nyní připraven ke spuštění.

Zde,

  • IsNumeric(Range("C" & i)) = Data v našem souboru dat začínají od roku sloupec C, tak jsme prošli C uvnitř Rozsah metoda.

  • Spustit tento kód a zjistíte, že všechny řádky které byly obsahující text jsou nyní skryté.

Přečtěte si více: Jak skrýt více řádků v aplikaci Excel (9 metod)

5. Makro pro skrytí všech řádků obsahujících čísla v aplikaci Excel

A pokud chcete skrýt všechny řádky obsahující číselné hodnoty s VBA kód a poté postupujte podle níže uvedených kroků.

Kroky:

  • Otevřít Editor jazyka Visual Basic z Vývojář karta a Vložte a Modul v okně kódu.
  • V okně kódu zkopírujte a vložte následující kód.
 Sub HideAllRowsContainsNumbers() LastRow = 1000 'Předpokládejme, že v souboru dat je 1000 řádků For i = 4 To LastRow 'Projděte každý řádek a zkontrolujte požadovanou podmínku 'Nastavíme i = 4, protože naše data začínají od řádku 4 'Skryjeme všechny řádky s číselnými údaji If IsNumeric(Range("C" & i)) = True Then Rows(i).EntireRow.Hidden = True Next End Sub 

Váš kód je nyní připraven ke spuštění.

Zde,

  • IsNumeric(Range("C" & i)) = Data v našem souboru dat začínají od roku sloupec C, tak jsme prošli C uvnitř Rozsah metoda.

  • Spustit tento kód a všimněte si, že všechny řádky které byly obsahující číselné hodnoty jsou nyní skryté.

Přečtěte si více: Skrytí duplicitních řádků na základě jednoho sloupce v aplikaci Excel (4 metody)

6. Makro pro skrytí řádků obsahujících nulu (0) v aplikaci Excel

Předpokládejme, že chcete skrýt pouze řádky z určitého sloupce, které jsou držení 0 (nula) . Podívejte se na následující soubor dat, kde se Sloupec E drží 0 v řádek 7 a 82 v řadě 10 . Naučíme se, jak skrýt pouze řádek, na kterém je 0 ( řádek 7 ) s VBA v aplikaci Excel.

Kroky:

  • Otevřít Editor jazyka Visual Basic z Vývojář karta a Vložte a Modul v okně kódu.
  • V okně kódu zkopírujte a vložte následující kód.
 Sub HideRowContainsZero() LastRow = 1000 'Předpokládejme, že v souboru dat je 1000 řádků For i = 4 To LastRow 'Projděte každý řádek a zkontrolujte požadovanou podmínku 'Nastavíme i = 4, protože naše data začínají od řádku 4 'Skryjeme řádek obsahující 0 ve sloupci E If Range("E" & i) = 0 Then Rows(i).EntireRow.Hidden = True Next End Sub 

Váš kód je nyní připraven ke spuštění.

  • Spustit tohoto kódu a všimněte si, že řádek ( řádek 7 ), které obsahovaly 0 na adrese sloupec E je nyní skrytý, zatímco řádek 10 která nese 82 je neskrytý.

Přečtěte si více: Jak skrýt prázdné řádky v aplikaci Excel VBA (4 užitečné metody)

7. Implementace makra pro skrytí řádků se zápornými hodnotami v aplikaci Excel

Stejně jako můžete skrýt řádky, které obsahují nulu ze stejného sloupce, můžete skrýt i řádky, které obsahují nulu ze stejného sloupce. skrýt řádky se zápornými hodnotami S níže uvedeným souborem dat, kde sloupec E obsahuje záporné i kladné hodnoty, uvidíme kód, který skrývá pouze zápornou hodnotu.

Kroky:

  • Otevřít Editor jazyka Visual Basic z Vývojář karta a Vložte a Modul v okně kódu.
  • V okně kódu zkopírujte a vložte následující kód.
 Sub HideRowContainsNegative() LastRow = 1000 'Předpokládejme, že v souboru dat je 1000 řádků For i = 4 To LastRow 'Projděte každý řádek a zkontrolujte požadovanou podmínku 'Nastavíme i = 4, protože naše data začínají od řádku 4 'Abychom skryli řádek obsahující záporné hodnoty ve sloupci 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 nyní připraven ke spuštění.

  • Spustit tento kód a všimněte si, že řádek 7 který obsahoval záporná hodnota (-10) na adrese sloupec E je nyní skrytý, zatímco řádek 10 která nese 82 je neskrytý.

8. Vložení VBA pro skrytí řádků obsahujících kladné hodnoty v aplikaci Excel

Tentokrát s níže uvedeným souborem dat, kde sloupec E obsahuje obě nulové kladné hodnoty, uvidíme. VBA kód, který skrývá pouze pozitivní .

Kroky:

  • Otevřít Editor jazyka Visual Basic z Vývojář karta a Vložte a Modul v okně kódu.
  • V okně kódu zkopírujte a vložte následující kód.
 Sub HideRowContainsPositive() LastRow = 1000 'Předpokládejme, že v souboru dat je 1000 řádků For i = 4 To LastRow 'Projděte každý řádek a zkontrolujte požadovanou podmínku 'Nastavíme i = 4, protože naše data začínají od řádku 4 'Skryjeme řádek obsahující kladné hodnoty ve sloupci 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 nyní připraven ke spuštění.

  • Spustit tento kód a všimněte si, že řádek 7 který obsahoval kladná hodnota (55) na adrese sloupec E je nyní skrytý, zatímco řádek 10 která nese 0 je neskrytý.

Přečtěte si více: Skrytí řádků v Excelu na základě hodnoty buňky ve VBA (14 příkladů)

9. Makro pro skrytí řádků obsahujících lichá čísla v aplikaci Excel

Můžete skrýt řádky s lichými čísly jako jejich hodnotu. V příkladu, který jsme si ukázali na začátku tohoto článku, sloupec E drží sudá i lichá čísla v řádky 7 a 10 . Naučíme se kód skrytí řádku který drží lichá čísla pouze.

Kroky:

  • Otevřít Editor jazyka Visual Basic z Vývojář karta a Vložte a Modul v okně kódu.
  • V okně kódu zkopírujte a vložte následující kód.
 Sub HideRowContainsOdd() LastRow = 1000 'Předpokládejme, že v souboru dat je 1000 řádků For i = 4 To LastRow 'Projděte každý řádek a zkontrolujte požadovanou podmínku 'Nastavíme i = 4, protože naše data začínají od řádku 4 'Skryjeme řádek obsahující kladné hodnoty ve sloupci 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 nyní připraven ke spuštění.

  • Spustit tento kus kódu a uvidíte, že pouze řádek 7 který obsahoval liché číslo (55) na adrese sloupec E je nyní skrytý, zatímco řádek 10 která nese sudé číslo (82) je neskrytý.

10. Skrytí řádků obsahujících sudá čísla v aplikaci Excel pomocí VBA

Podobně můžete skrýt řádky se sudými čísly jako jejich hodnotu. V příkladu, který jsme si ukázali na začátku tohoto článku, sloupec F drží sudá i lichá čísla v řádky 7 a 10 . Naučíme se kód skrytí řádku který drží sudá čísla pouze.

Kroky:

  • Otevřít Editor jazyka Visual Basic z Vývojář karta a Vložte a Modul v okně kódu.
  • V okně kódu zkopírujte a vložte následující kód.
 Sub HideRowContainsEven() LastRow = 1000 'Předpokládejme, že v souboru dat je 1000 řádků For i = 4 To LastRow 'Projděte každý řádek a zkontrolujte požadovanou podmínku 'Nastavíme i = 4, protože naše data začínají od řádku 4 'Skryjeme řádek obsahující kladné hodnoty ve sloupci 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 nyní připraven ke spuštění.

  • Spustit tento kód a uvidíte, že pouze řádek 7 který obsahoval sudé číslo (100) na adrese sloupec F je nyní skrytý, zatímco řádek 10 která nese liché číslo (75) je neskrytý.

Přečtěte si více: Excel VBA: Skrytí všech řádků v aplikaci Excel (5 praktických příkladů)

11. Vložení makra pro skrytí řádků, které jsou větší než určitá podmínka

Můžete skrýt řádky, které jsou větší než konkrétní hodnotu s VBA Excelu. Předpokládejme, že chcete skrýt řádky před sloupec E kde je hodnota více než 80 . Zde je návod, jak to udělat:

Kroky:

  • Otevřít Editor jazyka Visual Basic z Vývojář karta a Vložte a Modul v okně kódu.
  • V okně kódu zkopírujte a vložte následující kód.
 Sub HideRowContainsGreater() LastRow = 1000 'Předpokládejme, že v souboru dat je 1000 řádků For i = 4 To LastRow 'Projděte každý řádek a zkontrolujte požadovanou podmínku 'Nastavíme i = 4, protože naše data začínají od řádku 4 'Abychom skryli řádek obsahující kladné hodnoty ve sloupci 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 nyní připraven ke spuštění.

  • Spustit tento kód a uvidíte, že pouze řádek 10 který obsahoval 82 (která je větší než 80) v sloupec E je nyní skrytý, zatímco řádek 7 která nese 55 je neskrytý.

Přečtěte si více: Skrytí řádků na základě hodnoty buňky pomocí podmíněného formátování v aplikaci Excel

12. Vložení makra pro zakrytí řádků, které jsou menší než určitá podmínka v aplikaci Excel

Můžete také skrýt řádky, které jsou menší než konkrétní hodnotu s VBA Excelu. Předpokládejme, že chcete skrýt řádky před sloupec E kde je hodnota méně než 80 . Zde je návod, jak to udělat:

Kroky:

  • Otevřít Editor jazyka Visual Basic z Vývojář karta a Vložte a Modul v okně kódu.
  • V okně kódu zkopírujte a vložte následující kód.
 Sub HideRowContainsLess() LastRow = 1000 'Předpokládejme, že v souboru dat je 1000 řádků For i = 4 To LastRow 'Projděte každý řádek a zkontrolujte požadovanou podmínku 'Nastavíme i = 4, protože naše data začínají od řádku 4 'Skryjeme řádek obsahující kladné hodnoty ve sloupci 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 nyní připraven ke spuštění.

  • Spustit tento kód a uvidíte, že pouze řádek 7 který obsahoval 55 (což je méně než 80) v sloupec E je nyní skrytý, zatímco řádek 10 to znamená. přenášení 82 je neskrytý.

13. Skrytí řádků na základě hodnoty textu buňky pomocí makra

Předpokládejme, že chcete skrýt řádek s určitým textem V našem případě uvedeme příklad s řádkem, který obsahuje slovo " Chemie ", řádek 6 a poskytne vám kód, jak tento řádek skrýt.

Kroky:

  • Otevřít Editor jazyka Visual Basic z Vývojář karta a Vložte a Modul v okně kódu.
  • V okně kódu zkopírujte a vložte následující kód.
 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 nyní připraven ke spuštění.

Zde,

  • StartRow = 4 -> První řada souboru dat.
  • LastRow = 10 -> Poslední řádek souboru dat.
  • iCol = 4 -> adresa sloupce že obsahuje text hodnotu.

  • Spustit tento kód a všimněte si, že řádek číslo 6 který se skládá ze slova " Chemie " je skrytý.

14. Makro pro skrytí řádků na základě číselné hodnoty buňky v aplikaci Excel

Již dříve jste se seznámili s tím, jak skrýt řádek na základě hodnoty textu buňky, tentokrát se dozvíte, jak to udělat, když se v buňce hodnota je číselná V našem případě uvedeme příklad s řádkem, který obsahuje číselnou hodnotu " 87 ", řádek 7 a poskytne vám kód, jak tento řádek skrýt.

Kroky:

  • Otevřít Editor jazyka Visual Basic z Vývojář karta a Vložte a Modul v okně kódu.
  • V okně kódu zkopírujte a vložte následující kód.
 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 nyní připraven ke spuštění.

Zde,

  • StartRow = 4 -> První řada souboru dat.
  • LastRow = 10 -> Poslední řádek souboru dat.
  • iCol = 4 -> adresa sloupce že obsahuje text hodnotu.

  • Spustit tento kód a všimněte si, že řádek číslo 7 která se skládá z číselné hodnoty " 87 " je skrytý.

Přečtěte si více: Jak skrýt řádky na základě hodnoty buňky v aplikaci Excel (5 metod)

Závěr

Tento článek vám ukázal, jak skrýt řádky v aplikaci Excel pomocí VBA . doufám, že pro vás byl tento článek velmi přínosný. Pokud máte k tématu nějaké dotazy, neváhejte se zeptat.

Hugh West je velmi zkušený školitel a analytik Excelu s více než 10 lety zkušeností v oboru. Má bakalářský titul v oboru Účetnictví a finance a magisterský titul v oboru Business Administration. Hugh má vášeň pro výuku a vyvinul jedinečný přístup k výuce, který lze snadno sledovat a pochopit. Jeho odborné znalosti Excelu pomohly tisícům studentů a profesionálů po celém světě zlepšit své dovednosti a vyniknout ve své kariéře. Prostřednictvím svého blogu Hugh sdílí své znalosti se světem a nabízí bezplatné výukové programy Excelu a online školení, které jednotlivcům a firmám pomohou dosáhnout jejich plného potenciálu.