Excel VBA ile Boş Hücreleri Sayma: 2 Pratik Yöntem
1. Örnek Veri Tablosu
Aşağıdaki tabloda bazı hücreler boş. Bu tablo üzerinde 2 farklı yöntemi test edeceğiz.
Tablo Bilgisi
Tabloda 3 adet boş hücre var: B3, A6, C6. Bu boş hücreleri sayacağız.
2. Yöntem 1: CountBlank ile Boş Hücre Sayma
CountBlank fonksiyonu, bir aralıktaki boş hücreleri sayar. En hızlı ve en basit yöntemdir.
Sub CountBlankIleSay()
Dim sonuc As Long
sonuc = WorksheetFunction.CountBlank(Range("A2:C7"))
MsgBox "Boş hücre sayısı: " & sonuc
End Sub
Kod Açıklaması
- Dim sonuc As Long → Sayı değişkeni
- CountBlank(Range("A2:C7")) → A2:C7 aralığındaki boş hücreleri sayar
- MsgBox → Sonucu gösterir
Tablo: 🟨 Sayılan boş hücreler:
📌 Sonuç: CountBlank ile tabloda 3 adet boş hücre bulundu.
3. Yöntem 2: For Each Döngüsü ile Boş Hücre Sayma
For Each döngüsü ile her hücreyi tek tek kontrol ederek boş olanları sayabilirsiniz. Daha esnek bir yöntemdir.
Sub DonguIleBosSay()
Dim hucre As Range
Dim sayac As Integer
sayac = 0
For Each hucre In Range("A2:C7")
If IsEmpty(hucre) Then sayac = sayac + 1
Next hucre
MsgBox "Boş hücre sayısı: " & sayac
End Sub
Kod Açıklaması
- Dim hucre As Range → Hücre değişkeni
- For Each hucre In Range("A2:C7") → Her hücreyi dolaşır
- If IsEmpty(hucre) Then → Hücre boş mu kontrol eder
- sayac = sayac + 1 → Boşsa sayacı artırır
Tablo: 🔵 Sayılan boş hücreler:
📌 Sonuç: For Each döngüsü ile tabloda 3 adet boş hücre bulundu.
4. VBA Makroları için Ön Hazırlık
1. Geliştirici Sekmesini Aktifleştirin
Excel'de VBA kodlarını yazabilmek için önce Geliştirici sekmesini aktif etmelisiniz. Detaylı bilgi için tıklayın.
3. Modül Ekleyin
Kodlarınızı yazmak için bir Modül eklemelisiniz. Makro yazma rehberi için tıklayın.
2. Visual Basic Düzenleyici'yi Açın
Alt + F11 (Windows) veya Option + F11 (Mac) ile hızlıca açabilirsiniz.
4. Kodu Çalıştırın
Yazdığınız kodu çalıştırmak için F5 tuşuna basın veya Çalıştır butonuna tıklayın. VBA makro nedir? öğrenmek için tıklayın.
F5
▶️ Makroyu çalıştır
5. Sıkça Sorulan Sorular
01 VBA'da boş hücreler nasıl sayılır?
WorksheetFunction.CountBlank(aralik) ile boş hücreleri sayabilirsiniz.
02 CountBlank ve CountA arasındaki fark nedir?
CountBlank boş, CountA dolu hücreleri sayar.
03 Boş hücre sayarken hata alıyorum, ne yapmalıyım?
Aralık adını kontrol edin, sayfa korumasını kaldırın ve makroları etkinleştirin.
04 Mac'te VBA boş hücre sayma çalışır mı?
Evet, Mac'te de aynı kodlar çalışır.
05 Sonucu hücreye nasıl yazarım?
Range("D1").Value = sayac ile yazabilirsiniz.
06 Seçili aralıktaki boş hücreleri nasıl sayarım?
Set aralik = Selection veya Application.InputBox ile seçim yapabilirsiniz.