Obsah
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.