Hücre Değerine Göre Satırları Sil veya Ekle

Bu öğretici, hücre değerlerine dayalı olarak satırların nasıl silineceğini veya ekleneceğini gösterecektir.

Hücre Değerine Göre Satırı Sil

Bu, bir aralıkta dolanır ve A sütununda "sil" yazıyorsa satırları siler.

1234567891011121314151617181920 Alt DeleteRowsBasedonCellValue()'Değişkenleri BildirinLastRow Kadar Uzun, FirstRow Kadar UzunSatır Kadar UzunActiveSheet ile'İlk ve Son Satırları Tanımlayınİlk Sıra = 1LastRow = .UsedRange.Rows(.UsedRange.Rows.Count).Row'Satırlar Arası Döngü (Aşağıdan Yukarıya)Satır için = LastRow'dan FirstRow'a Adım -1If .Range("A" & Row).Value = "delete" Sonra.Range("A" & Row).EntireRow.DeleteBitirSonraki Satırİle bitmekAlt Bitiş

Döngüyü alt satırdan başlatmalıyız çünkü bir satırı silmek verileri kaydırır, yukarıdan aşağıya döngü yaparsanız satırları atlar.

Ayrıca, son satıra manuel olarak girmek yerine, son kullanılan satırı hesapladığımıza dikkat edin.

Satırı Sil - Filtreye Göre

Önceki örnekte, kriterlere uyan her satırı silerek satırlar arasında dolaştık. Alternatif olarak, bazı kriterlere göre satırları filtrelemek ve ardından görünen satırları silmek için Excel'in Otomatik Filtresini kullanabiliriz:

12345678910111213141516171819202122232425 Alt FilterAndDeleteRows()'ws değişkeni bildirDim ws As Çalışma Sayfasıws = ActiveSheet'i ayarla'Mevcut Filtreleri SıfırlaHatada Devam Et Sonrakiws.ShowAllDataHatada GoTo 0'Filtre Uygulaws.Range("a1:d100").AutoFilter Field:=1, Criteria1:="delete"'Satırları SilApplication.DisplayAlerts = Yanlışws.Range("a1:d100").SpecialCells(xlCellTypeVisible).SilApplication.DisplayAlerts = Doğru'Temiz filtreHatada Devam Et Sonrakiws.ShowAllDataHatada GoTo 0Alt Bitiş

Hücre Kriterlerine Göre Satırı Sil

Bu, A sütunundaki hücre belirli ölçütleri karşılıyorsa (< 0) satırları silerek bir aralıkta döngü yapar:

1234567891011121314151617181920 Alt DeleteRowsBasedonCellValue()'Değişkenleri BildirLastRow Kadar Uzun, FirstRow Kadar UzunSatır Kadar UzunActiveSheet ile'İlk ve Son Satırları Tanımlayınİlk Sıra = 1LastRow = .UsedRange.Rows(.UsedRange.Rows.Count).Row'Satırlar Arası Döngü (Aşağıdan Yukarıya)Satır için = LastRow'dan FirstRow'a Adım -1If .Range("A" & Row).Value < 0 O zaman.Range("A" & Row).EntireRow.DeleteBitirSonraki Satırİle bitmekAlt Bitiş

VBA Programlama | Code Generator sizin için çalışıyor!

Hücre Boşsa Satırı Sil

Bu, A sütunundaki bir hücre boşsa bir satırı silerek bir aralıkta döngü yapar:

1234567891011121314151617181920 Alt DeleteRowsBasedonCellValue()'Değişkenleri BildirinLastRow Kadar Uzun, FirstRow Kadar UzunSatır Kadar UzunActiveSheet ile'İlk ve Son Satırları Tanımlayınİlk Sıra = 1LastRow = .UsedRange.Rows(.UsedRange.Rows.Count).Row'Satırlar Arası Döngü (Aşağıdan Yukarıya)Satır için = LastRow'dan FirstRow'a Adım -1If .Range("A" & Row).Value = "" Sonra.Range("A" & Row).EntireRow.DeleteBitirSonraki Satırİle bitmekAlt Bitiş

Boş Satırı Sil

Alternatif olarak, satırın tamamı boşsa bir satırı silmek istiyorsanız (biraz farklı bir yöntem için bağlantıya tıklayın), bu kodu kullanabilirsiniz:

1234567891011121314151617181920 Alt DeleteBlankRows()'Değişkenleri BildirinLastRow Kadar Uzun, FirstRow Kadar UzunSatır Kadar UzunActiveSheet ile'İlk ve Son Satırları Tanımlayınİlk Sıra = 1LastRow = .UsedRange.Rows(.UsedRange.Rows.Count).Row'Satırlar Arası Döngü (Aşağıdan Yukarıya)Satır için = LastRow'dan FirstRow'a Adım -1WorksheetFunction.CountA(.Rows(Row)) = 0 ise.Satırlar(Satır).Tüm Satır.SilBitirSonraki Satırİle bitmekAlt Bitiş

Hücre Değer İçeriyorsa Satırı Sil

Bu, A sütunundaki hücre boş değilse bir satırı silerek bir aralıkta döngü yapar:

1234567891011121314151617181920 Alt DeleteRowsBasedonCellValue()'Değişkenleri BildirinLastRow Kadar Uzun, FirstRow Kadar UzunSatır Kadar UzunActiveSheet ile'İlk ve Son Satırları Tanımlayınİlk Sıra = 1LastRow = .UsedRange.Rows(.UsedRange.Rows.Count).Row'Satırlar Arası Döngü (Aşağıdan Yukarıya)Satır için = LastRow'dan FirstRow'a Adım -1If .Range("A" & Row).Value "" Sonra.Range("A" & Row).EntireRow.DeleteBitirSonraki Satırİle bitmekAlt Bitiş

VBA Kodu Örnekleri Aramaktan Bıktınız mı? AutoMacro'yu deneyin!

Hücre Değerine Göre Satır Ekle

Bu, bir aralıkta döngü yapar ve o satırdaki belirli bir hücre "insert" diyorsa satırları ekler:

1234567891011121314151617181920 Alt InsertRowsBasedonCellValue()'Değişkenleri BildirinLastRow Kadar Uzun, FirstRow Kadar UzunSatır Kadar UzunActiveSheet ile'İlk ve Son Satırları Tanımlayınİlk Sıra = 1LastRow = .UsedRange.Rows(.UsedRange.Rows.Count).Row'Satırlar Arası Döngü (Aşağıdan Yukarıya)Satır için = LastRow'dan FirstRow'a Adım -1If .Range("A" & Row).Value = "insert" O zaman.Range("A" & Row).EntireRow.InsertBitirSonraki Satırİle bitmekAlt Bitiş
wave wave wave wave wave