Excel VBA ile Boş Hücreleri Bulma, Doldurma ve Renklendirme

Excel VBA ile Boş Hücreleri Bulma, Doldurma ve Renklendirme
Excel VBA Boş Hücreleri Temizleme

1. Örnek Veri Tablosu

Aşağıdaki tabloda bazı hücreler boş bırakılmıştır. Bu tablo üzerinde 3 farklı yöntemi test edeceğiz.

Sütun A (Ürün Kodu) B (Ürün Adı) C (Kategori) D (Fiyat)
1 Ürün Kodu Ürün Adı Kategori Fiyat (TL)
2 PR001 Laptop Bilgisayar 15.000
3 PR002 (boş) (boş) 450
4 PR003 Klavye Aksesuar 750
5 PR004 Monitör Bilgisayar 8.500
6 (boş) USB Bellek Aksesuar (boş)
7 PR006 Yazıcı Ofis 4.200
Örnek veri tablosu (A1:D7) - ⬜ Boş hücreler: B3, C3, A6, D6

Boş Hücreler

Tabloda 4 adet boş hücre var: B3, C3, A6, D6. Bu hücreleri 3 farklı yöntemle temizleyeceğiz.

2. Boş Hücreleri Tespit Et

CountIf fonksiyonu ile tablodaki boş hücre sayısını bulun.

Sub BosHücreSay()
    Dim sayi As Long
    sayi = Application.WorksheetFunction.CountIf(ActiveSheet.UsedRange, "")
    MsgBox "Toplam boş hücre: " & sayi
End Sub

Ne Yapar?

  • Tablodaki tüm boş hücreleri sayar
  • Sonucu mesaj kutusunda gösterir
  • Çok basit ve hızlıdır

📊 Toplam boş hücre: 4

Tabloda 4 boş hücre var: B3, C3, A6, D6

3. Boş Hücreleri Doldur

Boş hücrelere "Bilgi yok" yazarak doldurun.

Sub BosHücreDoldur()
    Dim hucre As Range
    For Each hucre In ActiveSheet.UsedRange
        If IsEmpty(hucre) Then
            hucre.Value = "Bilgi yok"
        End If
    Next
End Sub

Ne Yapar?

  • Tüm boş hücreleri bulur
  • Her birine "Bilgi yok" yazar
  • Veri kaybı riski yok

Makro Sonrası Tablo:

Sütun A B C D
1 Ürün Kodu Ürün Adı Kategori Fiyat
2 PR001 Laptop Bilgisayar 15.000
3 PR002 Bilgi yok Bilgi yok 450
4 PR003 Klavye Aksesuar 750
5 PR004 Monitör Bilgisayar 8.500
6 Bilgi yok USB Bellek Aksesuar Bilgi yok
7 PR006 Yazıcı Ofis 4.200
✅ Boş hücrelere "Bilgi yok" yazıldı

📌 Sonuç: Boş hücrelere "Bilgi yok" yazılarak dolduruldu.

4. Boş Hücreleri Renklendir

Boş hücreleri kırmızı renkle işaretleyin.

Sub BosHücreRenklendir()
    Dim hucre As Range
    For Each hucre In ActiveSheet.UsedRange
        If IsEmpty(hucre) Then
            hucre.Interior.Color = RGB(255, 0, 0)
        End If
    Next
End Sub

Ne Yapar?

  • Tüm boş hücreleri bulur
  • Kırmızı renkle işaretler
  • Veri kaybı riski yok

Farklı Renkler

  • RGB(255, 0, 0) → Kırmızı
  • RGB(255, 255, 0) → Sarı
  • RGB(0, 0, 255) → Mavi

Makro Sonrası Tablo:

Sütun A B C D
1 Ürün Kodu Ürün Adı Kategori Fiyat
2 PR001 Laptop Bilgisayar 15.000
3 PR002 🔴 BOŞ 🔴 BOŞ 450
4 PR003 Klavye Aksesuar 750
5 PR004 Monitör Bilgisayar 8.500
6 🔴 BOŞ USB Bellek Aksesuar 🔴 BOŞ
7 PR006 Yazıcı Ofis 4.200
🔴 Boş hücreler kırmızı renkle işaretlendi

📌 Sonuç: Boş hücreler kırmızı renkle işaretlendi.

5. Geliştirici Sekmesini Aktifleştirme

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.

VBA - Geliştirici sekmesi
⚙️ Geliştirici sekmesini aktifleştirme

3. Modül Ekleyin

Kodlarınızı yazmak için bir Modül eklemelisiniz. Makro yazma rehberi için tıklayın.

VBA - Modül ekleme
📝 Modül ekleme

2. Visual Basic Düzenleyici'yi Açın

Alt + F11 (Windows) veya Option + F11 (Mac) ile hızlıca açabilirsiniz.

Visual Basic Düzenleyici'yi Açma
📝 Visual Basic Düzenleyici'yi Açma

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

📋 Makro çalıştırma

6. Sıkça Sorulan Sorular

01 Excel VBA ile boş hücreler nasıl temizlenir?

For Each döngüsü, SpecialCells veya Find yöntemleri kullanılır. En yaygın yöntem: For Each hucre In ActiveSheet.UsedRange ile dolaşıp IsEmpty kontrolü yapmaktır.

02 Boş hücreleri temizlerken hata alıyorum, ne yapmalıyım?

Korunan sayfa, birleştirilmiş hücreler veya makro güvenlik ayarlarını kontrol edin. SpecialCells için On Error Resume Next kullanın.

03 Sadece belirli aralıktaki boş hücreleri nasıl temizlerim?

For Each hucre In Range("A1:D10") şeklinde aralık belirtebilirsiniz.

04 Mac'te VBA'da boş hücre temizleme çalışır mı?

Evet, Mac'te de aynı kodlar çalışır. Option+F11 ile VBA'ya erişin.

05 Boş hücreler yerine boş satırları nasıl silerim?

Boş satırları silmek için Excel VBA ile Boş Satır Silme makalesini ziyaret edin.

06 Boş hücreleri temizlemek yerine silebilir miyim?

ClearContents yerine Delete kullanabilirsiniz. Ancak veri düzeninizi bozabilir.

💡 İpucu: Makroları çalıştırmadan önce dosyanızı yedeklemeyi unutmayın. Ctrl+S ile kaydedin.
🤖 Akıllı Arama Asistanı
💬 Merhaba! Size nasıl yardımcı olabilirim?
Excel Asistanı
👋 Merhaba! Excel ile ilgili ne öğrenmek istersin? Örn: DÜŞEYARA nasıl kullanılır?
DÜŞEYARA Pivot Tablo Gantt Şeması