Excel Makro (VBA) Dersleri - 3: IF Yapısı

kusha · 01 Ağustos 2026 · 4 dk okuma

If yapısı, VBA'da koşullu mantık kurmanızı sağlar — Excel formüllerindeki EĞERin kod karşılığıdır.

Temel Yapı

Sub HucreKontrol()
    If IsEmpty(Worksheets("Sayfa1").Range("B2")) Then
        MsgBox "Lütfen bir sayı giriniz."
    End If
End Sub

IsEmpty(...), bir hücrenin tamamen boş olup olmadığını kontrol eder ve True/False döner. MsgBox, kullanıcıya küçük bir bilgi penceresi gösterir.

Else ile İkinci Durumu Ele Almak

Sub HucreKontrol()
    If IsEmpty(Worksheets("Sayfa1").Range("B3")) Then
        MsgBox "Lütfen sayı giriniz."
    Else
        MsgBox "Hücre dolu."
    End If
End Sub

Bir Düğmeye Bağlamak

Bu kodu bir şekle/düğmeye atadığınızda, düğmeye her tıklandığında hücrenin o anki durumuna göre farklı bir mesaj gösterir — hücreyi doldurup boşalttıkça sonuç otomatik değişir.

Yaygın Bir Tuzak: Kapatılmamış If Blokları

VBA'da her If...Then bloğunun bir End If ile kapatılması gerekir (tek satırlık If kullanmıyorsanız). Bir If bloğunu yanlışlıkla erken kapatırsanız (ör. bir sonraki kodu If bloğunun dışında bırakırsanız), program beklediğiniz gibi çalışmaz — hata almasanız bile mantık hatası yaşarsınız. Kod düzgün girintilenmişse bu tür hataları fark etmek çok daha kolaydır.

Sırada Ne Var?

Sırada, bir işlemi belirli sayıda tekrarlamanızı sağlayan FOR döngüsü var.