Excel Formül
Modül 3: Karar Yapıları ve Döngüler

If - Then - Else Nedir? (Yazılımın Beyni)

Bir bilgisayar programını "akıllı" yapan şey hafızası değil, karar verebilme yeteneğidir. VBA'da makromuza bir gece kulübü fedaisi gibi kararlar verdirmek için If (Eğer), Then (Öyleyse) ve Else (Değilse) komutlarını kullanırız.

Gerçek Hayat Mantığı

Diyelim ki bir kulübün kapısındasınız. Kural şu: "Yaşın 18'den büyükse girebilirsin, değilse giremezsin." Bilgisayar da tam olarak böyle düşünür.

If ... Then

Koşulu sorduğumuz andır. "Eğer yaş 18'den büyükse..."

If yas >= 18 Then

ElseIf

Alternatif koşuldur. "Değil ama eğer yanında velisi varsa..."

ElseIf veliVarMi = True Then

Else

Hiçbir koşul uymadıysa yapılacak son şeydir. "Yoksa kapıdan kov!"

Else
  MsgBox "Giremezsin"

Unutulmaması Gereken Kilit Kural

Başlattığınız her If karar yapısını, karar verme işlemi bittiğinde mutlaka End If komutu ile kapatmak zorundasınız. Aksi takdirde VBA "Bu koşul nerede bitiyor?" diyerek hata fırlatır.

Canlı Simülatör: Dinamik Not Hesaplama

Aşağıdaki makro, Excel'in B2 hücresindeki notu okur ve karar verir. Aşağıdaki 3 farklı senaryo butonuna tıklayarak, programın not durumuna göre kodun içindeki hangi yola saptığını (sarı vurguyu takip edin) izleyin.

Visual Basic Editörü
Module1 (Code)
Sub DurumBelirle()
    Dim notu As Integer
    notu = Range("B2").Value ' Excel'den notu al

    If notu >= 85 Then
        Range("B3").Value = "TAKDİR ALDI"

    ElseIf notu >= 50 Then
        Range("B3").Value = "GEÇTİ"

    Else
        Range("B3").Value = "KALDI"

    End If
End Sub
Canlı Excel Sayfası
B2
A
B
1
Öğrenci Adı:
Ayşe Yılmaz
2
Sınav Notu:
3
Sistem Kararı: