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.