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

Jak przefiltrować listę i usunąć pozostałe ukryte lub widoczne wiersze w programie Excel?

W przypadku listy filtrowanej może być konieczne usunięcie ukrytych lub widocznych wierszy, aby zachować tylko przydatne dane. W tym artykule pokażemy Ci metody usuwania pozostałych ukrytych lub widocznych wierszy przefiltrowanej listy w Excelu.

Usuń ukryte wiersze w aktywnym arkuszu z kodem VBA
Usuń widoczne wiersze przefiltrowanej listy, zaznaczając wszystkie widoczne komórki
Z łatwością usuwaj ukryte lub widoczne wiersze przefiltrowanej listy za pomocą Kutools for Excel


Usuń ukryte wiersze w aktywnym arkuszu z kodem VBA

Ta sekcja pokaże kod VBA do usuwania ukrytych wierszy w aktywnym arkuszu. Wykonaj następujące czynności.

1. Aktywuj arkusz roboczy, w którym chcesz usunąć ukryte wiersze, naciśnij inny + F11 klawisze jednocześnie, aby otworzyć Microsoft Visual Basic for Applications okno.

2. W oknie Microsoft Visual Basic for Applications kliknij wstawka > Moduł. Następnie skopiuj i wklej poniższy kod VBA do okna Module.

Kod VBA: Usuń ukryte wiersze

Sub RemoveHiddenRows()
	Dim xRow As Range
	Dim xRg As Range
	Dim xRows As Range
	On Error Resume Next
	Set xRows = Intersect(ActiveSheet.Range("A:A").EntireRow, ActiveSheet.UsedRange)
	If xRows Is Nothing Then Exit Sub
		For Each xRow In xRows.Columns(1).Cells
			If xRow.EntireRow.Hidden Then
				If xRg Is Nothing Then
					Set xRg = xRow
				Else
					Set xRg = Union(xRg, xRow)
				End If
			End If
		Next
		If Not xRg Is Nothing Then
			MsgBox xRg.Count & " hidden rows have been deleted", , "Kutools for Excel"
			xRg.EntireRow.Delete
		Else
			MsgBox "No hidden rows found", , "Kutools for Excel"
		End If
	End Sub

3. wciśnij F5 klucz do uruchomienia kodu. Jeśli w aktywnym arkuszu znajdują się ukryte wiersze, po uruchomieniu kodu pojawi się okno dialogowe z informacją, ile ukrytych wierszy zostało usuniętych. Kliknij OK przycisk, aby usunąć ukryte wiersze. Zobacz zrzut ekranu:

doc usuń resztę 1

W przeciwnym razie po uruchomieniu kodu pojawi się następujące okno dialogowe.

doc usuń resztę 1

Uwagi: powyższy kod VBA może nie tylko usuwać ukryte wiersze przefiltrowanej listy, ale także usuwać ukryte wiersze, które wcześniej ręcznie ukrywałeś.


Usuń widoczne wiersze przefiltrowanej listy, wybierając wszystkie widoczne funkcje komórek

Aby usunąć widoczne wiersze przefiltrowanej listy, wykonaj następujące czynności.

1. Wybierz wszystkie odfiltrowane wiersze i naciśnij F5 klucz, aby otworzyć przejdź do okno dialogowe, a następnie kliknij Specjalny przycisk. Zobacz zrzut ekranu:

doc usuń resztę 1

2. w Przejdź do specjalnego w oknie dialogowym, sprawdź Tylko widoczne komórki opcję, a następnie kliknij OK przycisk.

doc usuń resztę 1

3. Teraz wszystkie widoczne wiersze są zaznaczone, kliknij je prawym przyciskiem myszy, a następnie kliknij Usuń wiersze.

doc usuń resztę 1

Do tej pory wszystkie widoczne wiersze są usuwane z przefiltrowanej listy.


Z łatwością usuwaj ukryte lub widoczne wiersze przefiltrowanej listy za pomocą Kutools for Excel

Powyższe dwie metody mogą nie być pożądanymi rozwiązaniami dla wielu użytkowników Excela, tutaj przedstawiamy przydatne narzędzie. Z Usuń ukryte (widoczne) wiersze i kolumny użyteczność Kutools dla programu Excel, możesz łatwo usunąć ukryte wiersze w wybranym zakresie / arkuszach, aktywnym arkuszu lub wszystkich arkuszach w programie Excel.

Przed złożeniem wniosku Kutools dla programu ExcelProszę pobierz i zainstaluj najpierw.

1. Jeśli chcesz usunąć tylko ukryte lub widoczne wiersze przefiltrowanej listy, wybierz filtrowany zakres ręcznie, a następnie kliknij Kutools > Usuń > Usuń ukryte (widoczne) wiersze i kolumny. Zobacz zrzut ekranu:

2. w Usuń ukryte (widoczne) wiersze i kolumnę w oknie dialogowym, zachowaj W wybranym zakresie wybrane w Zaglądać rozwijaną listę (możesz wybrać inne opcje, jeśli potrzebujesz), zaznacz Wydziwianie opcja w Usuń typ sekcji i w Szczegółowy typ sekcja, sprawdź Widoczne rzędy or Ukryte wiersze opcja, jak potrzebujesz. I na koniec kliknij OK przycisk.

3. Następnie pojawi się okno dialogowe z informacją, ile wierszy zostało usuniętych, kliknij OK przycisk.

  Jeśli chcesz skorzystać z bezpłatnego okresu próbnego (30-dzień) tego narzędzia, kliknij, aby go pobrać, a następnie przejdź do wykonania operacji zgodnie z powyższymi krokami.


Usuń ukryte lub widoczne wiersze przefiltrowanej listy za pomocą Kutools for Excel


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 (7)
Brak ocen. Oceń jako pierwszy!
Ten komentarz został zminimalizowany przez moderatora na stronie
Opinia dot.: makro do usuwania ukrytych wierszy — uruchamianie tego w 900 tys. wierszy trwa zbyt długo, aby było użyteczne. Ponad 2 godziny na OC'd Threadripper 1950X i nadal działa (musiałem zakończyć zadanie). Jakiś sposób na zoptymalizowanie go do korzystania z wielu rdzeni, czy jest to ograniczenie VBA?
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć,
Kod został zoptymalizowany. Proszę spróbować. Dziękuję za Twój komentarz.

Sub UsuńUkryte Wiersze()
Dim xFlag jako wartość logiczna
Dim xStr, xTemp jako ciąg
Dim xDiv, xMod As Long
Dim I, xCount, xRows As Long
Dim xRg, xCell, xDRg jako zakres
Dim xArr() jako ciąg
On Error Resume Next
Application.ScreenUpdating = Fałsz
Application.EnableEvents = Fałsz
Ustaw xRg = Intersect(ActiveSheet.Range("A:A").EntireRow, ActiveSheet.UsedRange)
Jeśli xRg jest niczym, wyjdź z Sub
xRows = xRg.Rows.Liczba
Ustaw xRg = xRg(1)
xFlag = Prawda
xTemp = ""
xLiczba = 0
Dla I = 1 To xRows
Ustaw xCell = xRg.Offset(I - 1, 0)
Rób póki xFlag
Jeśli xCell.EntireRow.Hidden to
xStr = xCell.Adres
xFlag = Fałsz
Więcej
Idź do Ctn
End If
Pętla
Jeśli xCell.EntireRow.Hidden to
xTemp = xStr & "," & xCell.Address
End If
Jeśli Len(xTemp) > 171 Wtedy
xLiczba = xLiczba + 1
ReDim Zachowaj xArr(1 do xCount)
xArr(xCount) = xStr
xStr = xCell.Adres
Więcej
xStr = xTemp
End If
Pole:
Dalej
xLiczba = xLiczba + 1
ReDim Zachowaj xArr(1 do xCount)
xArr(xCount) = xStr
Dla I = xCount do 1 Krok -1
Jeśli I = 1 Wtedy
xStr = Mid(xArr(I), InStr(xArr(I), ",") + 1, Len(xArr(I)) - InStr(xArr(I), ","))
Więcej
xStr = xArr(I)
End If
Jeśli xDRg jest niczym, to
Ustaw xDRg = Zakres (xStr)
Więcej
Ustaw xDRg = Union(xDRg, Range(xStr))
End If
Jeśli (Len(xDRg.Address) >= 244) Lub (xCount = 1) Wtedy
xDRg.EntireRow.Delete
Ustaw xDRg = Nic
End If
Dalej
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
Ten komentarz został zminimalizowany przez moderatora na stronie
Wspaniale! Dziękuję! Przejrzę przy następnej okazji / potrzebie i odpowiem.
Ten komentarz został zminimalizowany przez moderatora na stronie
Kod VBA do usuwania ukrytych wierszy działał idealnie bez manipulacji. DZIĘKUJĘ CI!!
Ten komentarz został zminimalizowany przez moderatora na stronie
Dzięki za informację. To było pouczające. Proszę, czy istnieje sposób na filtrowanie i usuwanie określonych liczb w wierszach do 1 miliona? Czy powyższy kod można w tym celu zmodyfikować?
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć,
Niestety nie testowałem kodu w tak ogromnych wierszach danych. Może możesz zrobić kopię swoich danych i przetestować, czy kod może działać.
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć, ten kod VBA jest niesamowicie przydatny.
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