Macro'da Select-Case ve ElseIf Örnekleri
Aşağıda Select-Case ve If-ElseIf yapılarını kullanılışına ilişkin örnek bir prosedür mevcuttur.
Prosedürde, Karne Notuna karşılık Karne Derecesi, Select-Case ve If-ElseIf yapıları kullanılarak buldurulmaktadır.
Karne Notu, Excel hücresinden alınmakta ve ayrıca kullanıcıya sorulmaktadır.
Karne Notuna karşılık Karne Derecesi buldurulmaktadır.
Örnekte Select-Case ve If-ElseIf yapıları kullanılmıştır.
Hücreden alınan Karne Notuna karşılık olan Karne Derecesi yine bir hücreye atanmaktadır.
Kullanıcıdan öğrenilen Karne Notuna karşılık olan Karne Derecesi de mesaj kutusuyla görüntülenmektedir.
Prosedür ve ile ilgili görüntüler aşağıda verilmiştir.
--------------------------------------------------------------------------------------------------------------------------
Public Sub KarneDerecesi()
KarneNotu = InputBox("Karne Notu:") 'Kullanıcıya Karne Notu soruluyor.
Select Case KarneNotu 'Karne Notu kontrol edilmek üzere seçiliyor.
Case Is < 50: Derecesi = "Zayıf" '50'den küçükse Derecesi değişkenine Zayıf atanıyor.
Case Is < 70: Derecesi = "Orta" 'Değilse ve 70'den küçükse Derecesi değişkenine Orta atanıyor.
KarneNotu = InputBox("Karne Notu:") 'Kullanıcıya Karne Notu soruluyor.
Select Case KarneNotu 'Karne Notu kontrol edilmek üzere seçiliyor.
Case Is < 50: Derecesi = "Zayıf" '50'den küçükse Derecesi değişkenine Zayıf atanıyor.
Case Is < 70: Derecesi = "Orta" 'Değilse ve 70'den küçükse Derecesi değişkenine Orta atanıyor.
Case Is < 85: Derecesi = "İyi" 'Değilse ve 85'den küçükse Derecesi değişkenine İyi atanıyor.
Case Is <= 100: Derecesi = "Pekiyi" 'Değilse ve '100den küçük veya eşitse Derecesi değişkenine Pekiyi atanıyor.
Case Else: Derecesi = "" 'Hiçbiri değilse Derecesi değişkeni boşaltılıyor.
End Select
Case Is <= 100: Derecesi = "Pekiyi" 'Değilse ve '100den küçük veya eşitse Derecesi değişkenine Pekiyi atanıyor.
Case Else: Derecesi = "" 'Hiçbiri değilse Derecesi değişkeni boşaltılıyor.
End Select
If Range("B2") < 50 Then 'B2 hücresindeki değer 50'den küçükse
Range("D2") = "Zayıf" 'D2 hücresine Zayıf atanıyor.
ElseIf Range("B2") < 70 Then 'Değilse ve B2 hücresindeki değer 70'den küçükse
Range("D2") = "Zayıf" 'D2 hücresine Zayıf atanıyor.
ElseIf Range("B2") < 70 Then 'Değilse ve B2 hücresindeki değer 70'den küçükse
Range("D2") = "Orta" 'D2 hücresine Orta atanıyor.
ElseIf Range("B2") < 85 Then 'Değilse ve B2 hücresindeki değer 85'den küçükse
ElseIf Range("B2") < 85 Then 'Değilse ve B2 hücresindeki değer 85'den küçükse
Range("D2") = "İyi" 'D2 hücresine İyi atanıyor.
ElseIf Range("B2") <= 100 Then 'Değilse ve B2 hücresindeki değer 100'den küçük veya eşitse
Range("D2") = "Pekiyi" 'D2 hücresine Pekiyi atanıyor.
Else: Range("D2") = "" 'Hiçbiri değilse D2 hücresi boşaltılıyor.
End If
ElseIf Range("B2") <= 100 Then 'Değilse ve B2 hücresindeki değer 100'den küçük veya eşitse
Range("D2") = "Pekiyi" 'D2 hücresine Pekiyi atanıyor.
Else: Range("D2") = "" 'Hiçbiri değilse D2 hücresi boşaltılıyor.
End If
MsgBox "Karne Notu " & KarneNotu & " için Derecesi: " & Derecesi 'Sonuç bir cümle içinde mesaj kutusuyla görüntüleniyor.
End Sub
End Sub
--------------------------------------------------------------------------------------------------------------------------