Preskoči na glavno vsebino

Kako filtrirati seznam in izbrisati ostale skrite ali vidne vrstice v Excelu?

Za filtrirani seznam boste morda morali izbrisati skrite ali vidne vrstice, da boste obdržali le koristne podatke. V tem članku vam bomo prikazali načine brisanja preostalih skritih ali vidnih vrstic filtriranega seznama v Excelu.

Izbrišite skrite vrstice v aktivnem delovnem listu s kodo VBA
Izbrišite vidne vrstice filtriranega seznama z izbiro vseh vidnih celic
Z Kutools za Excel lahko preprosto izbrišete skrite ali vidne vrstice filtriranega seznama


Izbrišite skrite vrstice v aktivnem delovnem listu s kodo VBA

Ta razdelek vam bo prikazal kodo VBA za brisanje skritih vrstic v aktivnem listu. Naredite naslednje.

1. Aktivirajte delovni list, ki ga želite izbrisati, in pritisnite druga + F11 tipke hkrati, da odprete Microsoft Visual Basic za aplikacije okno.

2. V oknu Microsoft Visual Basic for Applications kliknite Vstavi > Moduli. Nato kopirajte in prilepite spodnjo kodo VBA v okno modula.

Koda VBA: izbrišite skrite vrstice

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. Pritisnite F5 tipko za zagon kode. Če so v aktivnem listu skrite vrstice, se po zagonu kode odpre pogovorno okno, ki pove, koliko skritih vrstic je bilo izbrisanih. Kliknite OK gumb za brisanje skritih vrstic. Oglejte si posnetek zaslona:

doc izbriši ostalo 1

V nasprotnem primeru boste po zagonu kode dobili naslednje pogovorno okno.

doc izbriši ostalo 1

Opombe: zgornja koda VBA lahko ne samo izbriše skrite vrstice filtriranega seznama, temveč tudi izbriše skrite vrstice, ki ste jih že prej ročno skrivali.


Izbrišite vidne vrstice filtriranega seznama z izbiro vseh funkcij vidnih celic

Za brisanje vidnih vrstic filtriranega seznama storite naslednje.

1. Izberite vse filtrirane vrstice in pritisnite F5 ključ, da odprete Pojdi na pogovorno okno, nato kliknite Poseben . Oglejte si posnetek zaslona:

doc izbriši ostalo 1

2. V Ljubljani Pojdi na posebno pogovorno okno, preverite Samo vidne celice in nato kliknite OK gumb.

doc izbriši ostalo 1

3. Zdaj so izbrane vse vidne vrstice, z desno miškino tipko kliknite izbiro in nato kliknite Izbriši vrstice.

doc izbriši ostalo 1

Do zdaj so vse vidne vrstice izbrisane s filtriranega seznama.


Z Kutools za Excel lahko preprosto izbrišete skrite ali vidne vrstice filtriranega seznama

Zgornji dve metodi morda nista rešitvi za številne uporabnike Excela, tukaj vam predstavljamo priročno orodje. Z Izbriši skrite (vidne) vrstice in stolpce uporabnost Kutools za Excel, lahko preprosto izbrišete skrite vrstice v izbranem obsegu / listih, aktivnem listu ali vseh delovnih listih v Excelu.

Pred vložitvijo vloge Kutools za ExcelProsim najprej ga prenesite in namestite.

1. Če želite samo izbrisati skrite ali vidne vrstice filtriranega seznama, izberite filtrirani obseg ročno in kliknite Kutools > Brisanje > Izbriši skrite (vidne) vrstice in stolpce. Oglejte si posnetek zaslona:

2. V Ljubljani Izbriši skrite (vidne) vrstice in stolpce pogovorno okno, obdržite V izbranem območju izbrano v Poglej v spustni seznam (po potrebi lahko izberete druge možnosti), preverite Vrstice možnost v Izbriši vrsto in v razdelku Podroben tip oddelek, preverite Vidne vrstice or Skrite vrstice možnost, kot jo potrebujete. In končno kliknite OK gumb.

3. Potem se prikaže pogovorno okno, ki pove, koliko vrstic je bilo izbrisanih, kliknite na OK gumb.

  Če želite imeti brezplačno (30-dnevno) preskusno različico tega pripomočka, kliknite, če ga želite prenestiin nato nadaljujte z uporabo postopka v skladu z zgornjimi koraki.


Z Kutools za Excel izbrišite skrite ali vidne vrstice filtriranega seznama

Najboljša pisarniška orodja za produktivnost

🤖 Kutools AI Aide: Revolucionirajte analizo podatkov na podlagi: Inteligentna izvedba   |  Ustvari kodo  |  Ustvarite formule po meri  |  Analizirajte podatke in ustvarite grafikone  |  Prikličite funkcije Kutools...
Priljubljene funkcije: Poiščite, označite ali identificirajte dvojnike   |  Izbriši prazne vrstice   |  Združite stolpce ali celice brez izgube podatkov   |   Krog brez formule ...
Super iskanje: Več kriterijev VLookup    Multiple Value VLookup  |   VLookup na več listih   |   Nejasno iskanje ....
Napredni spustni seznam: Hitro ustvarite spustni seznam   |  Odvisni spustni seznam   |  Večkrat izberite spustni seznam ....
Upravitelj stolpcev: Dodajte določeno število stolpcev  |  Premakni stolpce  |  Preklop stanja vidnosti skritih stolpcev  |  Primerjaj obsege in stolpce ...
Predstavljene funkcije: Mrežni fokus   |  Pogled oblikovanja   |   Velika vrstica formule    Upravitelj delovnih zvezkov in listov   |  Knjižnica virov (Samodejno besedilo)   |  Izbirnik datuma   |  Združite delovne liste   |  Šifriranje/dešifriranje celic    Pošljite e-pošto po seznamu   |  Super filter   |   Poseben filter (filter krepko/ležeče/prečrtano ...) ...
15 najboljših kompletov orodij12 Besedilo Orodja (dodajanje besedila, Odstrani znake,...)   |   50 + Graf Vrste (Gantt Chart,...)   |   40+ Praktično Formule (Izračunajte starost glede na rojstni dan,...)   |   19 vstavljanje Orodja (Vstavite kodo QR, Vstavi sliko s poti,...)   |   12 Pretvorba Orodja (Številke v besede, Pretvorba valut,...)   |   7 Spoji in razdeli Orodja (Napredne kombinirane vrstice, Razdeljene celice,...)   |   ... in več

Napolnite svoje Excelove spretnosti s Kutools za Excel in izkusite učinkovitost kot še nikoli prej. Kutools za Excel ponuja več kot 300 naprednih funkcij za povečanje produktivnosti in prihranek časa.  Kliknite tukaj, če želite pridobiti funkcijo, ki jo najbolj potrebujete...

Opis


Kartica Office prinaša vmesnik z zavihki v Office in poenostavi vaše delo

  • Omogočite urejanje in branje z zavihki v Wordu, Excelu, PowerPointu, Publisher, Access, Visio in Project.
  • Odprite in ustvarite več dokumentov v novih zavihkih istega okna in ne v novih oknih.
  • Poveča vašo produktivnost za 50%in vsak dan zmanjša na stotine klikov miške za vas!
Comments (7)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Hi this VBA code is awesome useful.
This comment was minimized by the moderator on the site
Thanks for the info. This has been instructive. Please is there a way to filter and delete for specific numbers in rows of up to 1 million? Can the code above be modified to do so?
This comment was minimized by the moderator on the site
Hi,
Sorry did not test the code in such huge row data. Maybe you can make a copy of your data and test if the code can work.
This comment was minimized by the moderator on the site
VBA code to Delete hidden rows worked perfectly with no fiddling. THANK YOU!!
This comment was minimized by the moderator on the site
Feedback re: the macro for hidden row deletions - this takes too long to run on 900k rows to be useful. 2+ hours on an OC'd Threadripper 1950X and still running (had to end task). Any way to optimize it to use multiple cores or is this a VBA limitation?
This comment was minimized by the moderator on the site
Hi,
The code has been optimized. Please have a try. Thank you for your comment.

Sub RemoveHiddenRows()
Dim xFlag As 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
On Error Resume Next
Application.ScreenUpdating = False
Application.EnableEvents = False
Set xRg = Intersect(ActiveSheet.Range("A:A").EntireRow, ActiveSheet.UsedRange)
If xRg Is Nothing Then Exit Sub
xRows = xRg.Rows.Count
Set xRg = xRg(1)
xFlag = True
xTemp = ""
xCount = 0
For I = 1 To xRows
Set xCell = xRg.Offset(I - 1, 0)
Do While xFlag
If xCell.EntireRow.Hidden Then
xStr = xCell.Address
xFlag = False
Else
GoTo Ctn
End If
Loop
If xCell.EntireRow.Hidden Then
xTemp = xStr & "," & xCell.Address
End If
If Len(xTemp) > 171 Then
xCount = xCount + 1
ReDim Preserve xArr(1 To xCount)
xArr(xCount) = xStr
xStr = xCell.Address
Else
xStr = xTemp
End If
Ctn:
Next
xCount = xCount + 1
ReDim Preserve xArr(1 To xCount)
xArr(xCount) = xStr
For I = xCount To 1 Step -1
If I = 1 Then
xStr = Mid(xArr(I), InStr(xArr(I), ",") + 1, Len(xArr(I)) - InStr(xArr(I), ","))
Else
xStr = xArr(I)
End If
If xDRg Is Nothing Then
Set xDRg = Range(xStr)
Else
Set xDRg = Union(xDRg, Range(xStr))
End If
If (Len(xDRg.Address) >= 244) Or (xCount = 1) Then
xDRg.EntireRow.Delete
Set xDRg = Nothing
End If
Next
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
This comment was minimized by the moderator on the site
Awesome, thank you! Will review at my next opportunity / need for this and reply back.
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations