![]() |
Excel VBA ile Boş Satırları Silme |
Excel VBA ile nasıl yapılır serisinin yeni yazısına hoş geldiniz. Önceki yazılarımda Excel VBA ile sayfadaki görseller nasıl temizlenir ve Excel VBA ile dosya kopyalama nasıl yapılır göstermeye çalıştım. Bugün de Excel vba ile boş satırları nasıl silebileceğimizi göstereceğim. Yine önce Excel VBA ile boş satırları silme kodunu vereceğim, sonra da bu kodun çalışma mantığını anlatacağım. En sonunda da yine Excel VBA ile boş satırları silmek neden gerekebilir onu anlatmaya çalışacağım. Hadi başlayalım.
Excel VBA Boş Satırları Silme Kodu
Bu kodla ne yapıyoruz onu açıklamaya çalışayım.Sub bosSatirSil()Set silinecekAralik = Application.InputBox( _"Kontrol edilecek hücre aralığını seçin", "Boş Satırları Sil", _Application.Selection.Address, Type:=8)If Not (silinecekAralik Is Nothing) ThenFor i = silinecekAralik.Rows.Count To 1 Step -1Set EntireRow = silinecekAralik.Cells(i, 1).EntireRowIf Application.WorksheetFunction.CountA(EntireRow) = 0 ThenEntireRow.DeleteEnd IfNextEnd IfEnd Sub
- Önce bosSatirSil adında bir sub tanımladık. Daha sonra bunu bir butona/şekle atayabilmek için.
- Sonra silinecekAralik adındaki değişkeni, kullanıcıdan aldığımız aralıkla ayarladık.
- Eğer kullanıcı açılan seçim kutucuğunda seçim yaptıysa, silinecekAralik'ın satır sayısından döngüyü başlatarak ve her seferinde bir eksilterek geldik. Yani böylece son satırdan ilk satıra doğru gelmiş oluyoruz.
- Application.WorksheetFunction.CountA(EntireRow) diyerek o satırda veri olup olmadığını kontrol ediyoruz. Eğer hiç veri yoksa, EntireRow.Delete diyerek tüm satırı siliyoruz.


Excel VBA ile Boş Satırları Silmeye Neden İhtiyaç Duyarsınız?
Excel VBA ile Boş Satırları Silme
Verilerinizi temizlemenin ve düzenlemenin en kolay yolu!
📝 VBA Kodu
Bu basit kod ile boş satırları saniyeler içinde temizleyin.
Sub bosSatirSil()
Set silinecekAralik = Application.InputBox( _
"Kontrol edilecek hücre aralığını seçin", "Boş Satırları Sil", _
Application.Selection.Address, Type:=8)
If Not (silinecekAralik Is Nothing) Then
For i = silinecekAralik.Rows.Count To 1 Step -1
Set EntireRow = silinecekAralik.Cells(i, 1).EntireRow
If Application.WorksheetFunction.CountA(EntireRow) = 0 Then
EntireRow.Delete
End If
Next
End If
End Sub
⚙️ Nasıl Çalışır?
Kodun adım adım mantığı:
Aralık Seçimi
Kullanıcıdan silinecek aralığı seçmesini ister.
Tersten Döngü
Satırları sondan başa doğru kontrol eder (silme hatalarını önler).
Boş Kontrolü
`CountA` ile satırın tamamen boş olup olmadığını denetler.
Satırı Sil
Eğer boşsa, o satırı siler.
🤔 Neden Gerekli?
Boş satırları silmenin faydaları:
Veri Temizliği
Dışa aktarılan verilerdeki gereksiz boşlukları giderir.
Raporlama Kolaylığı
Filtreleme, sıralama ve pivot tabloları optimize eder.
Formül Doğruluğu
Formüllerin doğru çalışmasını ve performansını artırır.
Profesyonel Dosyalar
Dosyalarınızı daha düzenli ve kullanışlı hale getirir.