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

Hur filtrerar man en lista och tar bort resten av dolda eller synliga rader i Excel?

För en filtrerad lista kan du behöva radera de dolda eller synliga raderna för att bara behålla användbara data. I den här artikeln visar vi metoder för att radera de dolda eller synliga raderna i en filtrerad lista i Excel.

Ta bort dolda rader i aktivt kalkylblad med VBA-kod
Ta bort synliga rader med filtrerad lista genom att markera alla synliga celler
Ta enkelt bort dolda eller synliga rader med filtrerad lista med Kutools för Excel


Ta bort dolda rader i aktivt kalkylblad med VBA-kod

Detta avsnitt visar VBA-kod för att radera dolda rader i aktivt ark. Gör så här.

1. Aktivera kalkylbladet du behöver för att radera dolda rader, tryck på andra + F11 samtidigt för att öppna Microsoft Visual Basic för applikationer fönster.

2. Klicka på i fönstret Microsoft Visual Basic for Applications Insert > Modulerna. Och sedan kopiera och klistra in nedanstående VBA-kod i modulfönstret.

VBA-kod: Ta bort dolda rader

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. tryck på F5 för att köra koden. Om det finns dolda rader i det aktiva arket, efter att koden har körts, dyker en dialogruta upp för att berätta hur många dolda rader som har raderats. Klicka på OK för att radera de dolda raderna. Se skärmdump:

doc ta bort vila 1

Annars får du följande dialogruta när du har kört koden.

doc ta bort vila 1

Anmärkningar: ovanstående VBA-kod kan inte bara ta bort dolda rader med filtrerad lista utan också ta bort dolda rader som du har gömt manuellt tidigare.


Ta bort synliga rader med filtrerad lista genom att välja alla synliga celler

Gör så här för att radera synliga rader med filtrerad lista.

1. Markera alla filtrerade rader och tryck på F5 nyckel för att öppna gå till dialogrutan och klicka sedan på Special knapp. Se skärmdump:

doc ta bort vila 1

2. I Gå till Special dialogrutan, kolla på Endast synliga celler och klicka sedan på OK knapp.

doc ta bort vila 1

3. Nu är alla synliga rader markerade, högerklicka på markeringen och klicka sedan på Radera rader.

doc ta bort vila 1

Hittills raderas alla synliga rader från den filtrerade listan.


Ta enkelt bort dolda eller synliga rader med filtrerad lista med Kutools för Excel

Ovanstående två metoder är kanske inte önskvärda lösningar för många Excel-användare, här introducerar vi dig ett praktiskt verktyg. Med Ta bort dolda (synliga) rader och kolumner nytta av Kutools för Excel, kan du enkelt ta bort dolda rader i valt intervall / ark, aktivt ark eller alla kalkylblad i Excel.

Innan du ansöker Kutools för ExcelBer ladda ner och installera det först.

1. Om du bara vill ta bort dolda eller synliga rader i en filtrerad lista, välj det filtrerade området manuellt och klicka sedan på Kutools > Radera > Ta bort dolda (synliga) rader och kolumner. Se skärmdump:

2. I Ta bort dolda (synliga) rader och kolumner dialogrutan, behåll I valt intervall valda i Titta in rullgardinsmeny (du kan välja andra alternativ efter behov), kolla rader alternativet i Radera typ avsnittet och i Detaljerad typ avsnitt, kolla Synliga rader or Dolda rader alternativ som du behöver. Och slutligen klicka på OK knapp.

3. Sedan dyker en dialogruta upp för att berätta hur många rader som har tagits bort, klicka på OK knapp.

  Om du vill ha en gratis provperiod (30-dag) för detta verktyg, klicka för att ladda ner den, och gå sedan till för att tillämpa operationen enligt ovanstående steg.


Ta bort dolda eller synliga rader med filtrerad lista med Kutools för Excel


De bästa Office-produktivitetsverktygen

Kutools för Excel löser de flesta av dina problem och ökar din produktivitet med 80%

  • återanvändning: Sätt snabbt i komplexa formler, diagram och allt som du har använt tidigare; Kryptera celler med lösenord; Skapa e-postlista och skicka e-post ...
  • Super Formula Bar (enkelt redigera flera rader med text och formel); Läslayout (enkelt läsa och redigera ett stort antal celler); Klistra in i filtrerat intervall...
  • Sammanfoga celler / rader / kolumner utan att förlora data; Delat cellinnehåll; Kombinera duplicerade rader / kolumner... Förhindra duplicerade celler; Jämför intervall...
  • Välj Duplicera eller Unikt Rader; Välj tomma rader (alla celler är tomma); Super Find och Fuzzy Find i många arbetsböcker; Slumpmässigt val ...
  • Exakt kopia Flera celler utan att ändra formelreferens; Skapa referenser automatiskt till flera ark; Sätt in kulor, Kryssrutor och mer ...
  • Extrahera text, Lägg till text, ta bort efter position, Ta bort mellanslag; Skapa och skriva ut personsökningstalsatser; Konvertera mellan celler innehåll och kommentarer...
  • Superfilter (spara och tillämpa filterscheman på andra ark); Avancerad sortering efter månad / vecka / dag, frekvens och mer; Specialfilter av fet, kursiv ...
  • Kombinera arbetsböcker och arbetsblad; Sammanfoga tabeller baserat på nyckelkolumner; Dela data i flera ark; Batchkonvertera xls, xlsx och PDF...
  • Mer än 300 kraftfulla funktioner. Stöder Office / Excel 2007-2021 och 365. Stöder alla språk. Enkel implementering i ditt företag eller organisation. Fullständiga funktioner 30 dagars gratis provperiod. 60 dagars pengarna tillbaka-garanti.
kte-flik 201905

Fliken Office ger ett flikgränssnitt till Office och gör ditt arbete mycket enklare

  • Aktivera flikredigering och läsning i Word, Excel, PowerPoint, Publisher, Access, Visio och Project.
  • Öppna och skapa flera dokument i nya flikar i samma fönster, snarare än i nya fönster.
  • Ökar din produktivitet med 50 % och minskar hundratals musklick för dig varje dag!
officetab botten
Sortera kommentarer efter
Kommentarer (7)
Inga betyg än. Bli först med att betygsätta!
Denna kommentar minimerades av moderatoren på webbplatsen
Feedback angående: makrot för radering av dolda rader - det tar för lång tid att köra på 900 2 rader för att vara användbart. 1950+ timmar på en OC'd Threadripper XNUMXX och fortfarande igång (var tvungen att avsluta uppgiften). Något sätt att optimera det för att använda flera kärnor eller är detta en VBA-begränsning?
Denna kommentar minimerades av moderatoren på webbplatsen
Hej,
Koden har optimerats. Gör ett försök. Tack för din kommentar.

Sub RemoveHiddenRows()
Dim xFlagga som 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() Som sträng
On Error Resume Next
Application.ScreenUpdating = False
Application.EnableEvents = False
Set xRg = Intersect(ActiveSheet.Range("A:A").EntireRow, ActiveSheet.UsedRange)
Om xRg är ingenting, avsluta Sub
xRows = xRg.Rows.Count
Ställ in xRg = xRg(1)
xFlagga = Sant
xTemp = ""
xCount = 0
För I = 1 Till xRows
Ställ in xCell = xRg.Offset(I - 1, 0)
Gör medan xFlagga
Om xCell.EntireRow.Hidden Då
xStr = xCell.Address
xFlagga = Falskt
annars
Gå till Ctn
End If
loop
Om xCell.EntireRow.Hidden Då
xTemp = xStr & "," & xCell.Address
End If
Om Len(xTemp) > 171 Då
xCount = xCount + 1
ReDim Preserve xArr(1 To xCount)
xArr(xCount) = xStr
xStr = xCell.Address
annars
xStr = xTemp
End If
Ctn:
Nästa
xCount = xCount + 1
ReDim Preserve xArr(1 To xCount)
xArr(xCount) = xStr
För I = xRäkna Till 1 Steg -1
Om jag = 1 då
xStr = Mid(xArr(I), InStr(xArr(I), ","") + 1, Len(xArr(I)) - InStr(xArr(I), ","))
annars
xStr = xArr(I)
End If
Om xDRg är ingenting då
Ställ in xDRg = Range(xStr)
annars
Ställ in xDRg = Union(xDRg, Range(xStr))
End If
Om (Len(xDRg.Address) >= 244) Eller (xCount = 1) Då
xDRg.EntireRow.Delete
Ställ in xDRg = Ingenting
End If
Nästa
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
Denna kommentar minimerades av moderatoren på webbplatsen
Fantastiskt, tack! Kommer att granska vid nästa tillfälle/behov av detta och svara tillbaka.
Denna kommentar minimerades av moderatoren på webbplatsen
VBA-kod för att ta bort dolda rader fungerade perfekt utan att krångla. TACK!!
Denna kommentar minimerades av moderatoren på webbplatsen
Tack för informationen. Detta har varit lärorikt. Snälla finns det något sätt att filtrera och radera för specifika nummer i rader på upp till 1 miljon? Kan koden ovan ändras för att göra det?
Denna kommentar minimerades av moderatoren på webbplatsen
Hej,
Tyvärr testade jag inte koden i så enorma raddata. Kanske kan du göra en kopia av din data och testa om koden kan fungera.
Denna kommentar minimerades av moderatoren på webbplatsen
Hej denna VBA-kod är fantastisk användbar.
Det finns inga kommentarer här ännu
Lämna dina kommentarer
Postar som gäst
×
Betygsätt detta inlägg:
0   Tecken
Föreslagna platser

Följ oss

Copyright © 2009 - www.extendoffice.com. | Alla rättigheter förbehållna. Drivs av ExtendOffice. | | Sitemap
Microsoft och Office-logotypen är varumärken eller registrerade varumärken som tillhör Microsoft Corporation i USA och / eller andra länder.
Skyddad av Sectigo SSL