Excel VBA ile Boş Satırları Silme Nasıl Yapılır?

Excel VBA ile Boş Satırları Silme
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

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
Bu kodla ne yapıyoruz onu açıklamaya çalışayım.
  1. Önce bosSatirSil adında bir sub tanımladık. Daha sonra bunu bir butona/şekle atayabilmek için.
  2. Sonra silinecekAralik adındaki değişkeni, kullanıcıdan aldığımız aralıkla ayarladık.
  3. 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.
  4. 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.
Aşağıda da ekran görüntüleri var. 

Excel VBA ile Boş Satırları Silmeye Neden İhtiyaç Duyarsınız?

Genellikle muhasebe yazılımları ya da stok takip programları, dışa veri aktarırken Excel aracılığıyla aktarırlar ve bu verilerin arasında boş satırlar da gelebilir. (Genellikle gelir, kimi zaman ayraç olarak kullandıkları için. Kimi zaman da boş veri olduğundan olabilir bu durum.) Bu tip dosyalarda çalışırken, boş satırları silmek gerekebilir. Ya da kendi hazırladığınız dosyalarda da kendiniz boş satırlar bırakmış olabilirsiniz. En son bu satırları temizlemek için yine bu makrodan yararlanabilirsiniz.
Excel VBA ile Boş Satırları Silme Infografiği

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ığı:

👉
1

Aralık Seçimi

Kullanıcıdan silinecek aralığı seçmesini ister.

🔄
2

Tersten Döngü

Satırları sondan başa doğru kontrol eder (silme hatalarını önler).

3

Boş Kontrolü

`CountA` ile satırın tamamen boş olup olmadığını denetler.

🗑️
4

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.

Daha yeni Daha eski

İletişim Formu