Ana içeriğe atla

Bir listeyi filtrelemek ve geri kalan gizli veya görünür satırları Excel'de nasıl silebilirim?

Filtrelenmiş bir liste için, yalnızca yararlı verileri saklamak amacıyla gizli veya görünür satırları silmeniz gerekebilir. Bu makalede, Excel'de filtrelenmiş bir listenin geri kalan gizli veya görünür satırlarını silme yöntemlerini göstereceğiz.

Etkin çalışma sayfasındaki gizli satırları VBA kodu ile silin
Görünen tüm hücreleri seçerek filtrelenmiş listenin görünür satırlarını silin
Kutools for Excel ile gizli veya görünür filtrelenmiş liste satırlarını kolayca silin


Etkin çalışma sayfasındaki gizli satırları VBA kodu ile silin

Bu bölüm, aktif sayfadaki gizli satırları silmek için size VBA kodunu gösterecektir. Lütfen aşağıdaki işlemleri yapın.

1. Gizli satırları silmeniz gereken çalışma sayfasını etkinleştirin, Ara Toplam + F11 anahtarları aynı anda açmak için Uygulamalar için Microsoft Visual Basic pencere.

2. Uygulamalar için Microsoft Visual Basic penceresinde, Ekle > modül. Ardından aşağıdaki VBA kodunu Modül penceresine kopyalayıp yapıştırın.

VBA kodu: Gizli satırları silin

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. Tuşuna basın. F5 kodu çalıştırmak için anahtar. Etkin sayfada gizli satırlar varsa, kodu çalıştırdıktan sonra, kaç gizli satırın silindiğini bildirmek için bir iletişim kutusu açılır. Tıkla OK Gizli satırları silmek için düğmesine basın. Ekran görüntüsüne bakın:

doc geri kalan 1'i sil

Aksi takdirde, kodu çalıştırdıktan sonra aşağıdaki iletişim kutusunu alacaksınız.

doc geri kalan 1'i sil

not: yukarıdaki VBA kodu yalnızca filtrelenmiş listenin gizli satırlarını değil, aynı zamanda daha önce manuel olarak gizlediğiniz gizli satırları da silebilir.


Tüm görünür hücreler özelliğini seçerek filtrelenmiş listenin görünür satırlarını silin

Filtrelenmiş listenin görünür satırlarını silmek için lütfen aşağıdaki işlemleri yapın.

1. Filtrelenen tüm satırları seçin ve F5 tuşuna basarak git iletişim kutusunu tıklayın, ardından Özel buton. Ekran görüntüsüne bakın:

doc geri kalan 1'i sil

2. içinde Özelliğe Git iletişim kutusunda Yalnızca görünür hücreler seçeneğini ve ardından OK düğmesine basın.

doc geri kalan 1'i sil

3. Şimdi tüm görünür satırlar seçildi, seçime sağ tıklayın ve ardından Satırları Sil.

doc geri kalan 1'i sil

Şimdiye kadar, tüm görünür satırlar filtrelenmiş listeden silinir.


Kutools for Excel ile gizli veya görünür filtrelenmiş liste satırlarını kolayca silin

Yukarıdaki iki yöntem, birçok Excel kullanıcısı için arzu edilen çözümler olmayabilir, burada size kullanışlı bir araç sunuyoruz. İle Gizli (Görünür) Satırları ve Sütunları Sil yarar Kutools for Excel, seçili aralıktaki / sayfalardaki, etkin sayfadaki veya Excel'deki tüm çalışma sayfasındaki gizli satırları kolayca silebilirsiniz.

Başvurmadan önce Kutools for ExcelLütfen önce indirin ve kurun.

1. Filtrelenmiş bir listenin yalnızca gizli veya görünür satırlarını silmek istiyorsanız, lütfen filtrelenmiş aralığı manuel olarak seçin ve ardından Kutools > Sil > Gizli (Görünür) Satırları ve Sütunları Sil. Ekran görüntüsüne bakın:

2. içinde Gizli (Görünür) Satırları ve Sütunu Sil iletişim kutusu, Seçilen Aralıkta seçilen Arama konumu açılır listeyi kontrol edin (ihtiyaç duyduğunuzda diğer seçenekleri seçebilirsiniz), satırlar seçeneği Türü sil bölümünde ve Ayrıntılı tip bölüm, kontrol et Görünür satırlar or Gizli satırlar İhtiyacınız olan seçenek. Ve son olarak OK düğmesine basın.

3. Ardından size kaç satırın silindiğini bildiren bir iletişim kutusu açılır, lütfen OK düğmesine basın.

  Bu yardımcı programın ücretsiz denemesine (30 günlük) sahip olmak istiyorsanız, indirmek için lütfen tıklayınızve ardından yukarıdaki adımlara göre işlemi uygulamaya gidin.


Kutools for Excel ile filtrelenmiş listenin gizli veya görünür satırlarını silin

En İyi Ofis Üretkenlik Araçları

🤖 Kutools AI Yardımcısı: Aşağıdakilere dayalı olarak veri analizinde devrim yaratın: Akıllı Yürütme   |  Kodunu oluşturun  |  Özel Formüller Oluşturun  |  Verileri Analiz Edin ve Grafikler Oluşturun  |  Kutools İşlevlerini Çağır...
Popüler Özellikler: Yinelenenleri Bul, Vurgula veya Tanımla   |  Boş Satırları Sil   |  Veri Kaybı Olmadan Sütunları veya Hücreleri Birleştirin   |   Formülsüz Tur ...
Süper Arama: Çoklu Ölçütlü VLookup    Çoklu Değer VLookup  |   Birden Çok Sayfada VLookup   |   Bulanık Arama ....
Gelişmiş Açılır Liste: Hızla Açılır Liste Oluşturun   |  Bağımlı Açılır Liste   |  Çoklu Seçim Açılır Liste ....
Sütun Yöneticisi: Belirli Sayıda Sütun Ekleme  |  Sütunları Taşı  |  Gizli Sütunların Görünürlük Durumunu Değiştir  |  Aralıkları ve Sütunları Karşılaştırın ...
Öne Çıkan Özellikler: Izgara Odağı   |  Tasarım görünümü   |   Büyük Formül Çubuğu    Çalışma Kitabı ve Sayfa Yöneticisi   |  Kaynak Kütüphanesi (Otomatik metin)   |  Tarih Seçici   |  Çalışma Sayfalarını Birleştirin   |  Hücreleri Şifrele/Şifresini Çöz    E-postaları Listeye Göre Gönder   |  Süper Filtre   |   Özel Filtre (kalın/italik/üstü çizili filtre...) ...
En İyi 15 Araç Seti12 Metin Tools (Metin ekle, Karakterleri Kaldır, ...)   |   50+ Grafik Türleri (Gantt şeması, ...)   |   40+ Pratik Formüller (Yaşı doğum gününe göre hesapla, ...)   |   19 sokma Tools (QR Kodunu Girin, Yoldan Resim Ekle, ...)   |   12 Dönüştürme Tools (Sayılardan Kelimelere, Para Birimi Dönüştürme, ...)   |   7 Birleştir ve Böl Tools (Gelişmiş Kombine Satırları, Bölünmüş hücreler, ...)   |   ... ve dahası

Kutools for Excel ile Excel Becerilerinizi Güçlendirin ve Daha Önce Hiç Olmadığı Gibi Verimliliği Deneyimleyin. Kutools for Excel, Üretkenliği Artırmak ve Zamandan Tasarruf Etmek için 300'den Fazla Gelişmiş Özellik Sunar.  En Çok İhtiyacınız Olan Özelliği Almak İçin Buraya Tıklayın...

Açıklama


Office Tab, Office'e Sekmeli Arayüz Getirir ve İşinizi Çok Daha Kolay Hale Getirir

  • Word, Excel, PowerPoint'te sekmeli düzenlemeyi ve okumayı etkinleştirin, Publisher, Access, Visio ve Project.
  • Yeni pencereler yerine aynı pencerenin yeni sekmelerinde birden çok belge açın ve oluşturun.
  • Üretkenliğinizi% 50 artırır ve her gün sizin için yüzlerce fare tıklamasını azaltır!
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