Note: The other languages of the website are Google-translated. Back to English

Jak automatycznie ukryć wiersze, jeśli puste komórki w kolumnie?

Jeśli masz zakres danych, które wypełniają puste komórki w kolumnie, a teraz chcesz automatycznie ukryć wiersze zawierające puste komórki w tej kolumnie. Czy są jakieś dobre sposoby na szybkie i łatwe rozwiązanie tego zadania w programie Excel?

Automatyczne ukrywanie wierszy, jeśli puste komórki w kolumnie z kodem VBA


strzałka niebieski prawy bąbelek Automatyczne ukrywanie wierszy, jeśli puste komórki w kolumnie z kodem VBA

Poniższy kod może pomóc w ukryciu wszystkich wierszy, jeśli puste komórki w określonej kolumnie jednocześnie, a jeśli usuniesz zawartość komórki w tej kolumnie, wiersze również zostaną automatycznie ukryte. Wykonaj następujące czynności:

1. Kliknij prawym przyciskiem myszy kartę arkusza, w której chcesz automatycznie ukryć wiersze, jeśli w kolumnie znajdują się puste komórki, a następnie wybierz Wyświetl kod z menu kontekstowego w wyskakującym pliku Microsoft Visual Basic for Applications okno, skopiuj i wklej następujący kod w puste miejsce Moduł:

Kod VBA: Automatyczne ukrywanie wierszy, jeśli puste komórki w kolumnie:

Private Sub Worksheet_Change(ByVal Target As Range)
'Updateby Extendoffice
    Dim xRg As Range
    Application.ScreenUpdating = False
        For Each xRg In Range("A1:A20")
            If xRg.Value = "" Then
                xRg.EntireRow.Hidden = True
        
            Else
                xRg.EntireRow.Hidden = False
            End If
        Next xRg
    Application.ScreenUpdating = True
End Sub

doc automatycznie ukrywa wiersze 1

Uwagi: W powyższym kodzie, A1: A20 to lista danych zawierająca puste komórki, które chcesz automatycznie ukryć.

2. Następnie wróć do arkusza roboczego, a teraz po dwukrotnym kliknięciu dowolnej komórki i naciśnięciu Wchodzę klucz, wiersze zawierające puste komórki w kolumnie A zostały od razu ukryte, a jeśli wyczyścisz jakąkolwiek zawartość komórki w określonych komórkach kolumny A, wiersze zostaną automatycznie ukryte.

doc automatycznie ukrywa wiersze 2

 


Najlepsze narzędzia biurowe

Kutools dla programu Excel rozwiązuje większość problemów i zwiększa produktywność o 80%

  • Ponowne użycie: Szybko włóż złożone wzory, wykresy i wszystko, czego używałeś wcześniej; Szyfruj komórki z hasłem; Utwórz listę mailingową i wysyłaj e-maile ...
  • Pasek Super Formula (łatwo edytować wiele wierszy tekstu i formuły); Układ do czytania (łatwe odczytywanie i edytowanie dużej liczby komórek); Wklej do filtrowanego zakresu...
  • Scal komórki / wiersze / kolumny bez utraty danych; Podziel zawartość komórek; Połącz zduplikowane wiersze / kolumny... Zapobiegaj zduplikowanym komórkom; Porównaj zakresy...
  • Wybierz Duplikat lub Unikalny Wydziwianie; Wybierz puste wiersze (wszystkie komórki są puste); Super Find i Fuzzy Find w wielu zeszytach ćwiczeń; Losowy wybór ...
  • Dokładna kopia Wiele komórek bez zmiany odwołania do formuły; Automatyczne tworzenie odniesień do wielu arkuszy; Wstaw punktory, Pola wyboru i nie tylko ...
  • Wyodrębnij tekst, Dodaj tekst, Usuń według pozycji, Usuń przestrzeń; Tworzenie i drukowanie podsumowań stronicowania; Konwertuj zawartość komórek i komentarze...
  • Super filtr (zapisz i zastosuj schematy filtrów do innych arkuszy); Zaawansowane sortowanie według miesiąca / tygodnia / dnia, częstotliwości i innych; Specjalny filtr pogrubieniem, kursywą ...
  • Połącz skoroszyty i arkusze robocze; Scal tabele na podstawie kluczowych kolumn; Podziel dane na wiele arkuszy; Konwersja wsadowa xls, xlsx i PDF...
  • Ponad 300 zaawansowanych funkcji. Obsługuje Office / Excel 2007-2021 i 365. Obsługuje wszystkie języki. Łatwe wdrażanie w przedsiębiorstwie lub organizacji. Pełne funkcje 30-dniowa bezpłatna wersja próbna. 60-dniowa gwarancja zwrotu pieniędzy.
karta kte 201905

Karta Office wprowadza interfejs z zakładkami do pakietu Office i znacznie ułatwia pracę

  • Włącz edycję i czytanie na kartach w programach Word, Excel, PowerPoint, Publisher, Access, Visio i Project.
  • Otwieraj i twórz wiele dokumentów w nowych kartach tego samego okna, a nie w nowych oknach.
  • Zwiększa produktywność o 50% i redukuje setki kliknięć myszką każdego dnia!
officetab dół

 

Sortuj komentarze według
Komentarze (32)
Brak ocen. Oceń jako pierwszy!
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć, używam programu Excel 2016 i to nie działa. Otrzymuję komunikat o błędzie sintax. możesz pomóc?
Ten komentarz został zminimalizowany przez moderatora na stronie
Witaj Mrówko,

Powyższy kod działa dobrze w moim Excelu 2016, czy zmieniłeś odwołanie do komórki w kodzie do swoich potrzeb?
Ten komentarz został zminimalizowany przez moderatora na stronie
Otrzymuję błąd wykonania „13”:



Niezgodność typów



Ktoś, kto może pomóc???
Ten komentarz został zminimalizowany przez moderatora na stronie
Czy mogę zatrzymać automatyczne uruchamianie tego makra po naciśnięciu klawisza Enter? Czy mogę dołączyć go do przycisku, aby ukryć komórki tylko po kliknięciu?
Ten komentarz został zminimalizowany przez moderatora na stronie
czy ktoś kiedykolwiek to wymyślił? Ja też chciałbym wiedzieć.
Ten komentarz został zminimalizowany przez moderatora na stronie
ktoś wymyślił już odpowiedź?
Ten komentarz został zminimalizowany przez moderatora na stronie
to samo pytanie tutaj
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć chłopaki,
Aby ukryć wiersze, w których konkretna kolumna zawiera puste komórki, za pomocą przycisku, wykonaj następujące czynności:
Najpierw powinieneś wstawić przycisk polecenia z zakładki Deweloper.
A następnie zastosuj następujący kod VBA dla przycisku polecenia (Uwaga: zmień odwołanie do komórki a1: a20 na własne)

Private Sub CommandButton1_Click ()
Dim rng jako zakres, x jako zakres
Ustaw rng = Zakres("a1:a20")
Application.ScreenUpdating = Fałsz
Dla każdego x In rng
Jeśli Len(x.Text) = 0 Wtedy
x.EntireRow.Hidden = Prawda
Więcej
x. Cały wiersz. Ukryty = Fałsz
End If
Dalej x
Application.ScreenUpdating = True
End Sub

Spróbuj, mam nadzieję, że ci pomoże!
Ten komentarz został zminimalizowany przez moderatora na stronie
jak automatycznie ukrywać wiersze, jeśli puste komórki w 2 różnych kolumnach z kodem VBA
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć, salpe,
Aby ukryć wiersze, jeśli puste komórki w 2 różnych kolumnach są automatycznie puste, zastosuj następujący kod:

Prywatny Sub Worksheet_Change (ByVal Target As Range)
Dim xRg, xCell jako zakres
Dim xRgs, xRgArea jako zakres
Ustaw xRgs = Zakres("A1:A22,D1:D22")
Application.ScreenUpdating = Fałsz
W przypadku błędu Przejdź do Ctn
Dla każdego obszaru xRgArea w obszarze xRgs.
Debug.Drukuj xRgArea.Adres
Dla każdego xRg w kolumnach xRgArea.
Dla każdego xCell w xRg.Rows
Jeśli xCell.Value = „” Wtedy
xCell.EntireRow.Hidden = Prawda
Idź do Ctn
ElseIf Not xCell.EntireRow.Hidden Wtedy
xCell.EntireRow.Hidden = Fałsz
End If
Pole:
Dalej
Dalej
Dalej
Application.ScreenUpdating = True
End Sub

Możesz zmienić odwołania do komórek do swoich potrzeb.
Proszę spróbować!
Ten komentarz został zminimalizowany przez moderatora na stronie
بسم الله وجزاكم الله خيرا هذا الكود رائع ولكن حين قمت بتطبيق كود حذف الصف يبطأ الشيت بطريقة طويلة جدا فما العمل؟
Ten komentarz został zminimalizowany przez moderatora na stronie
Chcę wiedzieć, czy kod zadziała Jeśli komórka jest pusta w wyniku działania Formuły?
Ten komentarz został zminimalizowany przez moderatora na stronie
Witaj, ACHINTO,
Powyższy kod VBA jest również stosowany do pustych komórek w wyniku formuły, możesz spróbować, dziękuję!
Ten komentarz został zminimalizowany przez moderatora na stronie
Formuła na początku ukrywa komórki na podstawie informacji, ale nie pokazuje ponownie komórek, jeśli ich zawartość się zmieni. Chcę, aby ujawnił wszystkie nowe komórki, które zostały wypełnione informacjami (co następuje poprzez wyszukiwanie komórek). Jak mam to zrobic?
Ten komentarz został zminimalizowany przez moderatora na stronie
Bom dia, esta é minha necessidade também.

Preciso ocultar e quando a célula for preenchida (uso uma formula que preenche a mesma se houver valor em outra planilha) seja reexibida a linha novamente de forma automática.

Wdzięczny.
Ten komentarz został zminimalizowany przez moderatora na stronie
To, czego chcę, to coś takiego, aby działało w aktywnym arkuszu:

Jeśli komórki D2:D55 = „”
Następnie Ukryj.Cały wiersz

Jeśli komórki D2:D55 = „ma dowolną wartość”
Następnie pokaż.cały wiersz

W jaki sposób?
Ten komentarz został zminimalizowany przez moderatora na stronie
Witaj Kacha, Musisz tylko zmienić odwołanie do komórki w kodzie na własny zakres komórek, jak poniżej: Private Sub Worksheet_Change (ByVal Target As Range)
„Aktualizuj do” Extendoffice
Dim xRg jako zakres
Application.ScreenUpdating = Fałsz
Dla każdego xRg w zakresie ("D2:D55")
Jeśli xRg.Value = „” Wtedy
xRg.EntireRow.Hidden = Prawda

Więcej
xRg.EntireRow.Hidden = Fałsz
End If
Następny xRg
Application.ScreenUpdating = True
Koniec SubPo wstawieniu kodu pamiętaj, aby dwukrotnie kliknąć dowolną komórkę i nacisnąć klawisz Enter, aby kod zaczął obowiązywać.
Ten komentarz został zminimalizowany przez moderatora na stronie
Jaki jest najprostszy sposób na cofnięcie automatycznego ukrywania?
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć, Minh Có Dung 2 kod Trong 1 plik Excel (1 kod là Cua bạn) Voi Mc đich w ra Nhung bản Rieng Biệt và không BU Thừa Dong Trung. Khi Minh ấn w Tung bản Thì ok Nhưng Nếu w 1 loạt Thì kod Ukryj không Có TAC Dụng, bạn xem giúp Minh Voi nhe, Minh Cảm ơn!

Sub PRINT_PRINT()
Dim rng jako zakres, x jako zakres
Ustaw rng = Zakres("a16:a23")
Application.ScreenUpdating = Fałsz
Dla każdego x In rng
Jeśli Len(x.Text) = 0 Wtedy
x.EntireRow.Hidden = Prawda
Więcej
x. Cały wiersz. Ukryty = Fałsz
End If
Dalej x
Application.ScreenUpdating = True


przyciemnij p1, p2, i&
p1 = Arkusz1.Zakres("O1").Wartość
p2 = Arkusz1.Zakres("O2").Wartość
Jeśli IsNumeric(p1) = False Lub IsNumeric(p2) = False Wtedy
tb = MsgBox("Więc kod phai la so.", , "Thông báo")
Exit Sub
End If
Jeśli p1 > p2 Wtedy
tb = MsgBox("Tak kod sau phai >= kod truoc.", , "Thông báo")
Exit Sub
End If
Jeśli p1 < 1 Lub p2 < 1 Wtedy
tb = MsgBox("Więc kod phai >= 1.", , "Thông báo")
Exit Sub
End If
Jeśli p1 <= p2 Wtedy
Dla i = p1 do p2
Arkusz1.Zakres("M2").Wartość = i
Arkusz1.Wydruk
Dalej
End If
End Sub
Ten komentarz został zminimalizowany przez moderatora na stronie
Hola,Necesito crear una macro que me oculte una columna.Sería así: en la primera fila poner un 1 a las columnas que no quiero ocultar y no poner ningún valor a las columnas que quiero ocultar. Estoy haciendo el siguiente código, pero no se en que fallo:
Sub OcultarColumnaSin1()
Application.ScreenUpdating = Fałsz
Dla każdego rango w kolumnach
Jeśli rango = „” Wtedy
rango.EntireColumn.Hidden = Prawda
Więcej
rango.EntireColumn.Hidden = Fałsz
End If
Następny rango
Application.ScreenUpdating = True
End Sub
Ten komentarz został zminimalizowany przez moderatora na stronie
To działa świetnie dla mnie, ukrywa wiersze i otwiera je, gdy moje wartości zmieniają się na podstawie formuł. Mam pytanie, że mój arkusz ma 104 rzędy. Za każdym razem, gdy klikam komórkę, trochę się obraca. Jakiś sposób na przyspieszenie przejścia, gdy jest aktywowany? Czy to mój komputer? Dzięki!
Ten komentarz został zminimalizowany przez moderatora na stronie
Chciałbym automatycznie ukryć wiersze, jeśli kolumna E jest pusta lub 0
Ten komentarz został zminimalizowany przez moderatora na stronie
Jeśli wartość w kolumnie E jest pusta lub 0, chciałbym automatycznie ukryć wiersz. Jeśli wartość w E zmieni się na inną niż pusta lub 0, chciałbym to pokazać. Raport ma 1500 wierszy
Ten komentarz został zminimalizowany przez moderatora na stronie
Witaj, Cathy,
Aby ukryć wiersze automatycznie na podstawie pustych komórek lub wartości 0, użyj poniższego kodu vba:
Private Sub Worksheet_Change(ByVal Target As Range)
'Updateby Extendoffice
    Dim xRg As Range
    Application.ScreenUpdating = False
        For Each xRg In Range("E1:E1500")
            If (xRg.Value = "") Or (xRg.Value = "0") Then
                xRg.EntireRow.Hidden = True
            Else
                xRg.EntireRow.Hidden = False
            End If
        Next xRg
    Application.ScreenUpdating = True
End Sub


Proszę spróbować, mam nadzieję, że może ci to pomóc!
Ten komentarz został zminimalizowany przez moderatora na stronie
Jak ukryć wiersz zawierający checkbox?
Ten komentarz został zminimalizowany przez moderatora na stronie
Witaj Sweta

Aby ukryć wiersze z polem wyboru, poniższy artykuł może wyświadczyć ci przysługę:
Jak ukryć pole wyboru, gdy wiersz jest ukryty w programie Excel?

Spróbuj, jeśli nadal masz inne pytania, skomentuj tutaj.
Ten komentarz został zminimalizowany przez moderatora na stronie
Podczas wykonywania kodu w biurze 2013/2019/2021 działa, ale zajmuje zbyt dużo czasu (tylko 95 wierszy do ukrycia).
Jak możesz to przyspieszyć?
Dzięki!
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć, Asaf,
Kod działa dobrze w moim pliku Excel, czy możesz przesłać tutaj swój skoroszyt załączników, jeśli nie masz nic przeciwko? Abyśmy mogli pomóc w sprawdzeniu problemu.

Dziękuję Ci!
Ten komentarz został zminimalizowany przez moderatora na stronie
apakah ada rumus lain?, saya berharap baris kosong itu akan terhapus saat mencetak plik menjadi PDF tapi tampilan di excelnya tetap
Ten komentarz został zminimalizowany przez moderatora na stronie
Witaj, Nurjanah
Aby rozwiązać problem, najpierw należy ukryć puste wiersze, a następnie wydrukować dane, po wydrukowaniu danych należy ponownie odkryć puste wiersze. Proszę zrób tak:
1. Zastosuj tę formułę: = COUNTA (A2: E2) obok swoich danych, zobacz zrzut ekranu:
https://www.extendoffice.com/images/stories/comments/comment-skyyang/doc-hide-blanks-1.png
2. Następnie przefiltruj nową kolumnę pomocnika Pusta, ukryj wszystkie wiersze wartości 0, zobacz zrzut ekranu:
https://www.extendoffice.com/images/stories/comments/comment-skyyang/doc-hide-blanks-2.png
3. Następnie ukryj nową pustą kolumnę i wydrukuj dane, po wydrukowaniu arkusza roboczego anuluj filtr, aby odkryć puste wiersze zgodnie z potrzebami.
Proszę spróbować, mam nadzieję, że może ci to pomóc!
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć, mam problemy z "automatyzacją" makra. Szukam sposobu, aby kod działał jako zautomatyzowany proces bez potrzeby „ręcznego” uruchamiania makra. używałem własnego wariantu twojego kodu, ponieważ znalazłem problemy z użyciem twojego kodu. To jest mój wariant:

Sub HideRows()
Dim xRg jako zakres
Application.ScreenUpdating = Fałsz
Dla każdego xRg w zakresie("A3:A800")
Jeżeli (xRg.Value = "") Wtedy
xRg.EntireRow.Hidden = Prawda
Więcej
xRg.EntireRow.Hidden = Fałsz
End If
Następny xRg
Application.ScreenUpdating = True
End Sub

Próbuję utworzyć arkusz kalkulacyjny, który wymaga ciągle zmieniających się wartości, dlatego wymagałby prawdziwego „zautomatyzowanego” procesu. Jestem stosunkowo nowy w VBA i jeśli twój kod faktycznie spełnia już moje wymagania, czy mógłbyś pomóc/nauczyć mnie, jak zastosować go w VBA? Dzięki.
Ten komentarz został zminimalizowany przez moderatora na stronie
Witaj, Vian
W rzeczywistości kod w naszym artykule może zostać uruchomiony automatycznie.
Musisz skopiować i wkleić kod do modułu kodu bieżącego arkusza, a następnie wrócić do arkusza, kliknąć dwukrotnie dowolną komórkę i nacisnąć klawisz Wchodzę klawisz, wiersz zawierający pustą komórkę zostanie bezpośrednio ukryty.

Postępuj zgodnie z metodą opisaną w tym artykule krok po kroku, mam nadzieję, że może ci to pomóc!
Dziękuję Ci!
Nie ma tu jeszcze żadnych komentarzy
Zostaw swój komentarz
Publikowanie jako gość
×
Oceń ten post:
0   Postacie
Sugerowane lokalizacje

Bądż na bieżąco

Prawa autorskie © 2009 - www.extendoffice.com. | Wszelkie prawa zastrzeżone. Zasilany przez ExtendOffice, | Mapa strony
Microsoft i logo Office są znakami towarowymi lub zastrzeżonymi znakami towarowymi Microsoft Corporation w Stanach Zjednoczonych i / lub innych krajach.
Chronione przez Sectigo SSL