VBA do ukrywania wierszy w Excelu (14 metod)

  • Udostępnij To
Hugh West

Czasami musimy ukryć pewne określone wiersze podczas korzystania z naszego dużego zbioru danych w programie Excel dla lepszej czytelności.Wdrożenie Makro VBA to najskuteczniejsza, najszybsza i najbezpieczniejsza metoda na przeprowadzenie dowolnej operacji w Excelu.W tym artykule pokażemy jak ukrywać wiersze w Excelu na podstawie różnych kryteriów z wykorzystaniem makra VBA.

Pobierz Workbook

Darmowy ćwiczeniowy zeszyt Excela można pobrać stąd.

Ukryj wiersze za pomocą VBA.xlsm

14 metod za pomocą VBA do ukrywania wierszy w Excelu

W tym rozdziale omówimy 12 różnych metod z VBA do ukryć rzędy w Excelu. Przykład, którym będziemy się posługiwać w całym artykule, przedstawiony jest poniżej.

1. wbudowane VBA do ukrycia pojedynczego wiersza w Excelu

Jeśli chcesz ukryć pojedynczy rząd z VBA następnie wykonaj kroki omówione poniżej. W naszym przypadku będziemy ukryć rząd nr 5 ( Nazwisko ) z naszego zbioru danych.

Kroki:

  • Naciśnij Alt + F11 na klawiaturze lub przejdź do zakładki Programista -> Visual Basic otworzyć Edytor Visual Basic .

  • W wyskakującym oknie kodu, na pasku menu, kliknij Insert -> Moduł .

  • Skopiuj poniższy kod i wklej go do okna kodu.
 Sub HideSingleRow() Worksheets("Single").Range("5:5").EntireRow.Hidden = True End Sub 

Twój kod jest teraz gotowy do uruchomienia.

Tutaj,

  • Worksheets("Single") = Set the nazwa arkusza.
  • Range("5:5") = Pass rząd nr 5 wewnątrz Zakres metoda.

  • Naciśnij F5 na klawiaturze lub z paska menu wybrać Run -> Run Sub/UserForm. Możesz też po prostu kliknąć na mała ikona Play na pasku podmenu, aby uruchomić makro.

Zauważ na poniższym obrazku, rząd nr 5 jest ukryty po wykonaniu VBA kod.

Read More: Formuła ukrywania wierszy w Excelu (7 metod)

2. wstawianie makra do ukrywania sąsiednich wierszy w Excelu

Nauczyłeś się jak ukryć pojedynczy wiersz za pomocą VBA Ale załóżmy, że chcesz ukryć zakres wierszy które są ciąg dalszy . You can do that too with VBA w Excelu. ukryj rzędy od 5 do 7 z naszego zestawu danych przedstawionego powyżej.

Kroki:

  • W taki sam sposób jak poprzednio, otwórz Edytor Visual Basic od Deweloper zakładka i Wkładka a Moduł w oknie kodu.
  • W oknie kodu skopiuj poniższy kod i wklej go.
 Sub HideContiguousRows() Worksheets("Contiguous").Range("5:7").EntireRow.Hidden = True End Sub 

Twój kod jest teraz gotowy do uruchomienia.

Tutaj,

  • Worksheets("Contiguous") = Set the nazwa arkusza.
  • Range("5:7") = Pass rząd nr 5 do 7 wewnątrz Zakres metoda.

  • Uruchom ten kod i zobacz na poniższym obrazku, że rzędy 5-7 są teraz ukryte.

Read More: Jak ukryć i odsunąć wiersze w Excelu (6 najprostszych sposobów)

3. osadzone makro do wydzielania nieciągłych rzędów

Tym razem dowiesz się jak ukryć rzędy w Excelu, które są nieciągłe z VBA W przypadku naszego zestawu danych, kod do ukryj rzędy 5, 6, 8 i 9 podano poniżej.

Kroki:

  • Jak wcześniej wykazano, otwarte Edytor Visual Basic od Deweloper zakładka i Wkładka a Moduł w oknie kodu.
  • W oknie kodu skopiuj poniższy kod i wklej go.
 Sub HideNonContiguousRows() Worksheets("Non-Contiguous").Range("5:6, 8:9").EntireRow.Hidden = True End Sub 

Twój kod jest teraz gotowy do uruchomienia.

Tutaj,

  • Worksheets("Non-Contiguous") = Set the nazwa arkusza.
  • Range("5:6, 8:9") = Pass rząd nr 5 do 6 oraz 8 do 9 wewnątrz Zakres metoda.

  • Uruchom ten fragment kodu i zobacz, że rzędy 5 do 6 oraz 8 do 9 są ukryte na poniższym zdjęciu.

Read More: Jak ukryć wiersze w programie Excel (6 skutecznych metod)

4. Makro do ukrycia wszystkich wierszy zawierających tekst w Excelu

Jeśli chcesz ukryć wszystkie wiersze zawierające tekst wartości, a następnie wykonaj czynności podane poniżej.

Kroki:

  • Otwórz Edytor Visual Basic od Deweloper zakładka i Wkładka a Moduł w oknie kodu.
  • W oknie kodu skopiuj poniższy kod i wklej go.
 Sub HideAllRowsContainsText() LastRow = 1000 'Załóżmy, że w zbiorze danych jest 1000 wierszy For i = 1 To LastRow 'Zapętlamy każdy wiersz i sprawdzamy czy spełniony jest wymagany warunek 'Aby ukryć wszystkie wiersze z danymi tekstowymi If IsNumeric(Range("C" & i)) = False Then Rows(i).EntireRow.Hidden = True Next End Sub 

Twój kod jest teraz gotowy do uruchomienia.

Tutaj,

  • IsNumeric(Range("C" & i)) = Dane w naszym zbiorze danych zaczynają się od. kolumna C, więc przeszliśmy C wewnątrz Zakres metoda.

  • Uruchom ten kod i zauważysz wszystkie rzędy które były zawierający tekst wartości są teraz ukryte.

Read More: Jak ukryć wiele wierszy w programie Excel (9 metod)

5. Makro do ukrycia wszystkich wierszy zawierających liczby w Excelu

A jeśli chcesz ukryć wszystkie wiersze zawierające wartości numeryczne z VBA kod, a następnie wykonaj czynności podane poniżej.

Kroki:

  • Otwórz Edytor Visual Basic od Deweloper zakładka i Wkładka a Moduł w oknie kodu.
  • W oknie kodu skopiuj poniższy kod i wklej go.
 Sub HideAllRowsContainsNumbers() LastRow = 1000 'Załóżmy, że w zbiorze danych jest 1000 wierszy For i = 4 To LastRow 'Zapętlamy każdy wiersz i sprawdzamy czy jest wymagany warunek 'Ustawiamy i = 4 ponieważ nasze dane zaczynają się od wiersza 4 'Aby ukryć wszystkie wiersze z danymi liczbowymi If IsNumeric(Range("C" & i)) = True Then Rows(i).EntireRow.Hidden = True Next End Sub 

Twój kod jest teraz gotowy do uruchomienia.

Tutaj,

  • IsNumeric(Range("C" & i)) = Dane w naszym zbiorze danych zaczynają się od. kolumna C, więc przeszliśmy C wewnątrz Zakres metoda.

  • Uruchom ten kod i zauważ, że wszystkie rzędy które były zawierające wartości numeryczne wcześniej są teraz ukryte.

Read More: Ukryj zduplikowane wiersze na podstawie jednej kolumny w programie Excel (4 metody)

6. makro do ukrycia wierszy zawierających zero (0) w Excelu

Załóżmy, że chcesz ukryć tylko te wiersze z określonej kolumny, które są posiadanie 0 (zero) Spójrz na poniższy zbiór danych, w którym E kolumna trzyma 0 w rząd 7 oraz 82 w rzędzie 10 . Nauczymy się jak ukryć tylko ten rząd, który ma wartość 0 ( rząd 7 ) z VBA w Excelu.

Kroki:

  • Otwórz Edytor Visual Basic od Deweloper zakładka i Wkładka a Moduł w oknie kodu.
  • W oknie kodu skopiuj poniższy kod i wklej go.
 Sub HideRowContainsZero() LastRow = 1000 'Załóżmy, że w zbiorze danych jest 1000 wierszy For i = 4 To LastRow 'Przechodzimy w pętli przez każdy wiersz i sprawdzamy, czy spełniony jest wymagany warunek 'Ustawiamy i = 4, ponieważ nasze dane zaczynają się od wiersza 4 'Aby ukryć wiersz zawierający 0 w kolumnie E If Range("E" & i) = 0 Then Rows(i).EntireRow.Hidden = True Next End Sub 

Twój kod jest teraz gotowy do uruchomienia.

  • Uruchom ten kod i zauważ, że wiersz ( rząd 7 ), które zawierały 0 w kolumna E jest teraz ukryty, podczas gdy rząd 10 który niesie 82 jest nie do ukrycia.

Read More: Jak ukryć puste wiersze w Excelu VBA (4 użyteczne metody)

7. wdrożenie makra do ukrywania wierszy zawierających wartości ujemne w Excelu

Podobnie jak można ukryć wiersze, które zawierają zero z tej samej kolumny, można ukryć wiersze, które zawierają wartości ujemne W przedstawionym poniżej zbiorze danych, w którym kolumna E zawiera zarówno wartości ujemne, jak i dodatnie, zobaczymy kod, który ukrywa tylko tę ujemną.

Kroki:

  • Otwórz Edytor Visual Basic od Deweloper zakładka i Wkładka a Moduł w oknie kodu.
  • W oknie kodu skopiuj poniższy kod i wklej go.
 Sub HideRowContainsNegative() LastRow = 1000 'Załóżmy, że w zbiorze danych jest 1000 wierszy For i = 4 To LastRow 'Zapętlamy każdy wiersz i sprawdzamy, czy spełniony jest wymagany warunek 'Ustawiamy i = 4, ponieważ nasze dane zaczynają się od wiersza 4 'Aby ukryć wiersz zawierający wartości ujemne w kolumnie E If IsNumeric(Range("E" & i)) = True Then If Range("E" & i) <0 ThenRows(i).EntireRow.Hidden = True End If Next End Sub 

Twój kod jest teraz gotowy do uruchomienia.

  • Uruchom ten kod i zauważ, że rząd 7 który zawierał wartość ujemna (-10) w kolumna E jest teraz ukryty, podczas gdy rząd 10 który niesie 82 jest nie do ukrycia.

8. wbudowane VBA do ukrywania wierszy zawierających wartości dodatnie w Excelu

Tym razem z podanym poniżej zestawem danych, gdzie kolumna E zawiera oba zera wartości dodatnie, zobaczymy VBA kod, który ukrywa tylko ten pozytywny .

Kroki:

  • Otwórz Edytor Visual Basic od Deweloper zakładka i Wkładka a Moduł w oknie kodu.
  • W oknie kodu skopiuj poniższy kod i wklej go.
 Sub HideRowContainsPositive() LastRow = 1000 'Załóżmy, że w zbiorze danych jest 1000 wierszy For i = 4 To LastRow 'Zapętlamy każdy wiersz i sprawdzamy, czy spełniony jest wymagany warunek 'Ustawiamy i = 4, ponieważ nasze dane zaczynają się od wiersza 4 'Aby ukryć wiersz zawierający wartości dodatnie w kolumnie E If IsNumeric(Range("E" & i)) = True Then If Range("E" & i)> 0 ThenRows(i).EntireRow.Hidden = True End If Next End Sub 

Twój kod jest teraz gotowy do uruchomienia.

  • Uruchom ten kod i zauważ, że rząd 7 który zawierał wartość dodatnia (55) w kolumna E jest teraz ukryty, podczas gdy rząd 10 który niesie 0 jest nie do ukrycia.

Read More: VBA do ukrywania wierszy na podstawie wartości komórki w Excelu (14 przykładów)

9. Makro do ukrycia wierszy, które zawierają nieparzyste liczby w programie Excel

Możesz ukryć wiersze, które mają nieparzyste numery Jako ich wartość. W przykładzie, który pokazaliśmy na początku tego artykułu, kolumna E trzyma zarówno nieparzyste jak i parzyste liczby w rzędy 7 i 10 Poznamy kodeks ukrycie wiersza który trzyma liczby nieparzyste tylko.

Kroki:

  • Otwórz Edytor Visual Basic od Deweloper zakładka i Wkładka a Moduł w oknie kodu.
  • W oknie kodu skopiuj poniższy kod i wklej go.
 Sub HideRowContainsOdd() LastRow = 1000 'Załóżmy, że w zbiorze danych jest 1000 wierszy For i = 4 To LastRow 'Przechodzimy w pętli przez każdy wiersz i sprawdzamy, czy spełniony jest wymagany warunek 'Ustawiamy i = 4, ponieważ nasze dane zaczynają się od wiersza 4 'Aby ukryć wiersz zawierający wartości dodatnie w kolumnie 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 

Twój kod jest teraz gotowy do uruchomienia.

  • Uruchom ten fragment kodu i zobacz, że tylko rząd 7 który zawierał liczba nieparzysta (55) w kolumna E jest teraz ukryty, podczas gdy rząd 10 który ma przy sobie liczba parzysta (82) jest nie do ukrycia.

10. VBA do ukrywania wierszy zawierających liczby parzyste w Excelu

Podobnie można ukryć rzędy, które mają parzyste numery Jako ich wartość. W przykładzie, który pokazaliśmy na początku tego artykułu, kolumna F trzyma zarówno nieparzyste jak i parzyste liczby w rzędy 7 i 10 Poznamy kodeks ukrycie wiersza który trzyma liczby parzyste tylko.

Kroki:

  • Otwórz Edytor Visual Basic od Deweloper zakładka i Wkładka a Moduł w oknie kodu.
  • W oknie kodu skopiuj poniższy kod i wklej go.
 Sub HideRowContainsEven() LastRow = 1000 'Załóżmy, że w zbiorze danych jest 1000 wierszy For i = 4 To LastRow 'Przechodzimy w pętli przez każdy wiersz i sprawdzamy, czy spełniony jest wymagany warunek 'Ustawiamy i = 4, ponieważ nasze dane zaczynają się od wiersza 4 'Aby ukryć wiersz zawierający wartości dodatnie w kolumnie 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 

Twój kod jest teraz gotowy do uruchomienia.

  • Uruchom ten kod i zobacz, że tylko rząd 7 który zawierał liczba parzysta (100) w kolumna F jest teraz ukryty, podczas gdy rząd 10 który ma przy sobie liczba nieparzysta (75) jest nie do ukrycia.

Read More: Excel VBA: Ukryj wszystkie wiersze w Excelu (5 praktycznych przykładów)

11. wstawianie makra do ukrywania wierszy większych niż określony warunek

Możesz ukryć wiersze, które są większe niż konkretną wartość z VBA Excel. Załóżmy, że chcesz ukryć wiersze z kolumna E gdzie wartością jest powyżej 80 Oto jak to zrobić:

Kroki:

  • Otwórz Edytor Visual Basic od Deweloper zakładka i Wkładka a Moduł w oknie kodu.
  • W oknie kodu skopiuj poniższy kod i wklej go.
 Sub HideRowContainsGreater() LastRow = 1000 'Załóżmy, że w zbiorze danych jest 1000 wierszy For i = 4 To LastRow 'Zapętlamy każdy wiersz i sprawdzamy czy spełniony jest wymagany warunek 'Ustawiamy i = 4 ponieważ nasze dane zaczynają się od wiersza 4 'Aby ukryć wiersz zawierający wartości dodatnie w kolumnie E If IsNumeric(Range("E" & i)) = True Then If Range("E" & i)> 80 ThenRows(i).EntireRow.Hidden = True End If Next End Sub 

Twój kod jest teraz gotowy do uruchomienia.

  • Uruchom ten kod i zobacz, że tylko rząd 10 który zawierał 82 (która jest większa niż 80) w kolumna E jest teraz ukryty, podczas gdy rząd 7 który niesie 55 jest nie do ukrycia.

Read More: Ukrywanie wierszy na podstawie wartości komórki za pomocą formatowania warunkowego w Excelu

12. wbudowane makro do pokrycia wierszy, które jest mniejsze niż określony warunek w programie Excel

Można również ukryć wiersze, które są mniejsze niż konkretną wartość z VBA Excel. Załóżmy, że chcesz ukryć wiersze z kolumna E gdzie wartością jest poniżej 80 Oto jak to zrobić:

Kroki:

  • Otwórz Edytor Visual Basic od Deweloper zakładka i Wkładka a Moduł w oknie kodu.
  • W oknie kodu skopiuj poniższy kod i wklej go.
 Sub HideRowContainsLess() LastRow = 1000 'Załóżmy, że w zbiorze danych jest 1000 wierszy For i = 4 To LastRow 'Przechodzimy w pętli przez każdy wiersz i sprawdzamy, czy spełniony jest wymagany warunek 'Ustawiamy i = 4, ponieważ nasze dane zaczynają się od wiersza 4 'Aby ukryć wiersz zawierający wartości dodatnie w kolumnie E If IsNumeric(Range("E" & i)) = True Then If Range("E" & i) <80 ThenRows(i).EntireRow.Hidden = True End If Next End Sub 

Twój kod jest teraz gotowy do uruchomienia.

  • Uruchom ten kod i zobacz, że tylko rząd 7 który zawierał 55 (która jest mniejsza niż 80) w kolumna E jest teraz ukryty, podczas gdy rząd 10 to jest noszenie 82 jest nie do ukrycia.

13. ukrycie wierszy na podstawie wartości tekstowej komórki za pomocą makra

Załóżmy, że chcesz ukryć wiersz, który zawiera określony tekst wartość. W naszym przypadku podamy przykład z wierszem, który zawiera słowo " Chemia ", rząd 6 i dostarczyć ci kod, jak ukryć ten wiersz.

Kroki:

  • Otwórz Edytor Visual Basic od Deweloper zakładka i Wkładka a Moduł w oknie kodu.
  • W oknie kodu skopiuj poniższy kod i wklej go.
 Sub HideRowCellTextValue() StartRow = 4 LastRow = 10 iCol = 4 For i = StartRow To LastRow If Cells(i, iCol).Value "Chemia" Then Cells(i, iCol).EntireRow.Hidden = False Else Cells(i, iCol).EntireRow.Hidden = True End If Next i End Sub 

Twój kod jest teraz gotowy do uruchomienia.

Tutaj,

  • StartRow = 4 -> Pierwszy rząd zbioru danych.
  • LastRow = 10 -> Ostatni rząd zbioru danych.
  • iCol = 4 -> The adres kolumny że przechowuje tekst wartość.

  • Uruchom ten kod i zauważ, że rząd nr 6 , który składa się ze słowa " Chemia " jest ukryty.

14. Makro do ukrywania wierszy na podstawie wartości numerycznej komórki w Excelu

Poprzednio widziałeś jak ukryć wiersz na podstawie wartości tekstowej komórki, tym razem dowiesz się jak to zrobić gdy wartość jest liczbowa . W naszym przypadku podamy przykład z wierszem, który zawiera wartość liczbową " 87 ", rząd 7 i dostarczyć ci kod, jak ukryć ten wiersz.

Kroki:

  • Otwórz Edytor Visual Basic od Deweloper zakładka i Wkładka a Moduł w oknie kodu.
  • W oknie kodu skopiuj poniższy kod i wklej go.
 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 

Twój kod jest teraz gotowy do uruchomienia.

Tutaj,

  • StartRow = 4 -> Pierwszy rząd zbioru danych.
  • LastRow = 10 -> Ostatni rząd zbioru danych.
  • iCol = 4 -> The adres kolumny że przechowuje tekst wartość.

  • Uruchom ten kod i zauważ, że rząd nr 7 który składa się z wartości liczbowej " 87 " jest ukryty.

Read More: Jak ukryć wiersze na podstawie wartości komórki w programie Excel (5 metod)

Wniosek

Ten artykuł pokazał, jak ukryć rzędy w Excelu z VBA Mam nadzieję, że ten artykuł był dla Ciebie bardzo korzystny. Czuj się swobodnie, jeśli masz jakieś pytania dotyczące tematu.

Hugh West jest bardzo doświadczonym trenerem i analitykiem Excela z ponad 10-letnim doświadczeniem w branży. Posiada tytuł licencjata w dziedzinie rachunkowości i finansów oraz tytuł magistra administracji biznesowej. Hugh ma pasję do nauczania i opracował unikalne podejście do nauczania, które jest łatwe do naśladowania i zrozumienia. Jego specjalistyczna wiedza na temat programu Excel pomogła tysiącom studentów i profesjonalistów na całym świecie doskonalić swoje umiejętności i osiągać doskonałe wyniki w karierze. Za pośrednictwem swojego bloga Hugh dzieli się swoją wiedzą ze światem, oferując bezpłatne samouczki programu Excel i szkolenia online, aby pomóc osobom indywidualnym i firmom w pełni wykorzystać swój potencjał.