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

Cum se filtrează o listă și se șterg restul rândurilor ascunse sau vizibile din Excel?

Pentru o listă filtrată, poate fi necesar să ștergeți rândurile ascunse sau vizibile pentru a păstra doar datele utile. În acest articol, vă vom arăta metodele de ștergere a restului rândurilor ascunse sau vizibile ale unei liste filtrate în Excel.

Ștergeți rândurile ascunse din foaia de lucru activă cu cod VBA
Ștergeți rândurile vizibile ale listei filtrate selectând toate celulele vizibile
Ștergeți cu ușurință rândurile ascunse sau vizibile ale listei filtrate cu Kutools pentru Excel


Ștergeți rândurile ascunse din foaia de lucru activă cu cod VBA

Această secțiune vă va arăta codul VBA pentru a șterge rândurile ascunse din foaia activă. Vă rugăm să faceți următoarele.

1. Activați foaia de lucru de care aveți nevoie pentru a șterge rândurile ascunse, apăsați Alt + F11 tastele simultan pentru a deschide Microsoft Visual Basic pentru aplicații fereastră.

2. În fereastra Microsoft Visual Basic pentru aplicații, faceți clic pe Insera > Module. Și apoi copiați și lipiți codul VBA de mai jos în fereastra Module.

Cod VBA: ștergeți rândurile ascunse

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. apasă pe F5 tasta pentru a rula codul. Dacă există rânduri ascunse în foaia activă, după rularea codului, va apărea o casetă de dialog pentru a vă spune câte rânduri ascunse au fost șterse. Apasă pe OK pentru a șterge rândurile ascunse. Vedeți captura de ecran:

doc șterge restul 1

În caz contrar, veți primi următoarea casetă de dialog după executarea codului.

doc șterge restul 1

notițe: codul VBA de mai sus nu numai că poate șterge rândurile ascunse ale listei filtrate, ci și șterge rândurile ascunse pe care le-ați ascuns manual anterior.


Ștergeți rândurile vizibile ale listei filtrate selectând toate caracteristicile celulelor vizibile

Pentru ștergerea rândurilor vizibile din lista filtrată, procedați după cum urmează.

1. Selectați toate rândurile filtrate și apăsați F5 tasta pentru a deschide fișierul Mergi la casetă de dialog, apoi faceți clic pe Special buton. Vedeți captura de ecran:

doc șterge restul 1

2. În Du-te la Special caseta de dialog, verificați Numai celule vizibile , apoi faceți clic pe OK butonul.

doc șterge restul 1

3. Acum sunt selectate toate rândurile vizibile, faceți clic dreapta pe selecție, apoi faceți clic pe Ștergeți rândurile.

doc șterge restul 1

Până acum, toate rândurile vizibile sunt șterse din lista filtrată.


Ștergeți cu ușurință rândurile ascunse sau vizibile ale listei filtrate cu Kutools pentru Excel

Este posibil ca cele două metode de mai sus să nu fie soluțiile dorite pentru mulți utilizatori Excel, aici vă prezentăm un instrument la îndemână. Cu Ștergeți rândurile și coloanele ascunse (vizibile) utilitatea Kutools pentru Excel, puteți șterge cu ușurință rândurile ascunse din intervalul / foile selectate, foaia activă sau toate foile de lucru din Excel.

Înainte de a aplica Kutools pentru Excel, Vă rugăm să descărcați-l și instalați-l mai întâi.

1. Dacă doriți doar să ștergeți rândurile ascunse sau vizibile ale unei liste filtrate, selectați manual intervalul filtrat, apoi faceți clic pe Kutools > Șterge > Ștergeți rândurile și coloanele ascunse (vizibile). Vedeți captura de ecran:

2. În Ștergeți rândurile și coloana ascunse (vizibile) caseta de dialog, păstrați În gama selectată selectat în Uită-te în listă derulantă (puteți selecta alte opțiuni după cum aveți nevoie), verificați Rânduri opțiune în Ștergeți tipul secțiune și în secțiunea Tipul detaliat secțiune, verificați Rânduri vizibile or Rânduri ascunse opțiune după cum aveți nevoie. Și în cele din urmă faceți clic pe OK butonul.

3. Apoi apare o casetă de dialog pentru a vă spune câte rânduri au fost șterse, faceți clic pe OK butonul.

  Dacă doriți să aveți o încercare gratuită (30-zi) a acestei utilitati, vă rugăm să faceți clic pentru a-l descărca, și apoi mergeți pentru a aplica operația conform pașilor de mai sus.


Ștergeți rândurile ascunse sau vizibile ale listei filtrate cu Kutools pentru Excel


Cele mai bune instrumente de productivitate Office

Kutools pentru Excel vă rezolvă majoritatea problemelor și vă crește productivitatea cu 80%

  • reutilizarea: Introduceți rapid formule complexe, diagrame și orice ai folosit anterior; Criptați celulele cu parola; Creați o listă de corespondență și trimiteți e-mailuri ...
  • Super Formula Bar (editați cu ușurință mai multe linii de text și formulă); Layout de citire (citiți și editați cu ușurință un număr mare de celule); Lipiți la interval filtrat...
  • Merge celule / rânduri / coloane fără a pierde date; Conținut de celule divizate; Combinați rânduri / coloane duplicate... Prevenirea celulelor duplicate; Comparați gamele...
  • Selectați Duplicat sau Unic Rânduri; Selectați Rânduri goale (toate celulele sunt goale); Super Find și Fuzzy Find în multe cărți de lucru; Selectare aleatorie ...
  • Copie exactă Mai multe celule fără modificarea referinței formulelor; Creați automat referințe la foi multiple; Introduceți gloanțe, Casete de selectare și multe altele ...
  • Extrageți textul, Adăugați text, eliminați după poziție, Eliminați spațiul; Creați și imprimați subtotaluri de paginare; Convertiți conținutul dintre celule și comentarii...
  • Super Filtru (salvați și aplicați scheme de filtrare altor foi); Sortare avansată după lună / săptămână / zi, frecvență și multe altele; Filtru special cu bold, italic ...
  • Combinați cărți de lucru și foi de lucru; Merge Tables pe baza coloanelor cheie; Împărțiți datele în mai multe foi; Conversia în loturi xls, xlsx și PDF...
  • Peste 300 de funcții puternice. Suportă Office / Excel 2007-2021 și 365. Acceptă toate limbile. Implementare ușoară în întreprinderea sau organizația dvs. Funcții complete Probă gratuită de 30 de zile. Garanție de returnare a banilor de 60 de zile.
fila kte 201905

Fila Office aduce interfața cu file în Office și vă face munca mult mai ușoară

  • Activați editarea și citirea cu file în Word, Excel, PowerPoint, Publisher, Access, Visio și Project.
  • Deschideți și creați mai multe documente în filele noi ale aceleiași ferestre, mai degrabă decât în ​​ferestrele noi.
  • Vă crește productivitatea cu 50% și reduce sute de clicuri de mouse pentru dvs. în fiecare zi!
fundul officetab
Comentarii (7)
Încă nu există evaluări. Fii primul care evaluează!
Acest comentariu a fost redus la minimum de moderatorul de pe site
Feedback referitor la: macrocomandă pentru ștergerile ascunse ale rândurilor - aceasta durează prea mult pentru a rula pe 900 de rânduri pentru a fi utilă. Mai mult de 2 ore pe un Threadripper 1950X OC și încă rulează (a trebuit să încheie sarcina). Vreo modalitate de a-l optimiza pentru a utiliza mai multe nuclee sau este aceasta o limitare VBA?
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună,
Codul a fost optimizat. Vă rugăm să încercați. Multumesc pentru comentariu.

Sub RemoveHiddenRows()
Dim xFlag ca boolean
Dim xStr, xTemp As String
Dim xDiv, xMod As Long
Dim I, xCount, xRows As Long
Dim xRg, xCell, xDRg As Range
Dim xArr() As String
La data de eroare CV următoare
Application.ScreenUpdating = Fals
Application.EnableEvents = Fals
Set xRg = Intersect(ActiveSheet.Range("A:A").EntireRow, ActiveSheet.UsedRange)
Dacă xRg nu este nimic, ieșiți din sub
xRows = xRg.Rows.Count
Setați xRg = xRg(1)
xFlag = Adevărat
xTemp = ""
xCount = 0
Pentru I = 1 To xRows
Set xCell = xRg.Offset(I - 1, 0)
Faceți în timp ce xFlag
Dacă xCell.EntireRow.Hidden Atunci
xStr = xCell.Address
xFlag = Fals
Altfel
GoTo Ctn
Final, dacă
Buclă
Dacă xCell.EntireRow.Hidden Atunci
xTemp = xStr & "," & xCell.Address
Final, dacă
Dacă Len(xTemp) > 171 Atunci
xCount = xCount + 1
ReDim Preserve xArr(1 To xCount)
xArr(xCount) = xStr
xStr = xCell.Address
Altfel
xStr = xTemp
Final, dacă
Ctn:
Pagina Următoare →
xCount = xCount + 1
ReDim Preserve xArr(1 To xCount)
xArr(xCount) = xStr
Pentru I = xCount La 1 Pasul -1
Dacă I ​​= 1 Atunci
xStr = Mid(xArr(I), InStr(xArr(I), ",") + 1, Len(xArr(I)) - InStr(xArr(I), ","))
Altfel
xStr = xArr(I)
Final, dacă
Dacă xDRg este nimic, atunci
Set xDRg = Range(xStr)
Altfel
Set xDRg = Uniune(xDRg, Interval(xStr))
Final, dacă
Dacă (Len(xDRg.Address) >= 244) Sau (xCount = 1) atunci
xDRg.EntireRow.Delete
Set xDRg = Nimic
Final, dacă
Pagina Următoare →
Application.EnableEvents = Adevărat
Application.ScreenUpdating = Adevărat
End Sub
Acest comentariu a fost redus la minimum de moderatorul de pe site
Minunat, mulțumesc! Voi examina la următoarea mea oportunitate/nevoie de acest lucru și voi răspunde.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Codul VBA pentru a șterge rândurile ascunse a funcționat perfect, fără lăutari. MULȚUMESC!!
Acest comentariu a fost redus la minimum de moderatorul de pe site
Multumesc pentru informatii. Acest lucru a fost instructiv. Există vreo modalitate de a filtra și șterge anumite numere din rânduri de până la 1 milion? Codul de mai sus poate fi modificat pentru a face acest lucru?
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună,
Ne pare rău că nu am testat codul într-un rând atât de mare de date. Poate puteți face o copie a datelor și testați dacă codul poate funcționa.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună, acest cod VBA este extraordinar de util.
Nu există comentarii postate aici încă
Lăsa comentarii
Postare ca invitat
×
Evaluează această postare:
0   Caractere
Locații sugerate

Urmărește-ne

Copyright © 2009 - www.extendoffice.com. | Toate drepturile rezervate. Cu sprijinul ExtendOffice. | Harta site-ului
Microsoft și sigla Office sunt mărci comerciale sau mărci comerciale înregistrate ale Microsoft Corporation în Statele Unite și / sau în alte țări.
Protejat de Sectigo SSL