Vba: birden fazla koşulu test etmek için if or kullanın
Birden fazla koşulun karşılanıp karşılanmadığını test etmek için VBA’da IF ve OR ile aşağıdaki temel sözdizimini kullanabilirsiniz:
Sub IfOrTest()
If Range(" A2 ") = "Warriors" Or Range(" B2 ") > 100 Then
Range(" C2 ").Value = " Yes! "
Else
Range(" C2 ").Value = " No. "
End If
End Sub
Bu özel örnek, A2 hücresindeki değerin “Savaşçılar”a eşit olup olmadığını veya B2 hücresindeki değerin 100’den büyük olup olmadığını kontrol eder.
Her iki koşul da karşılanırsa “Evet!” değeri görüntülenir. » C2 hücresinde döndürülür.
Aksi takdirde “Hayır” değeri. C2 hücresine geri gönderilir.
Aşağıdaki örnek, bu sözdiziminin pratikte nasıl kullanılacağını gösterir.
İlgili: VBA: Birden Fazla Koşulu Test Etmek için IF AND Kullanın
Örnek: VBA’da birden çok koşulu test etmek için IF AND kullanın
Excel’de aşağıdaki verilere sahip olduğumuzu varsayalım:
Takım adının Warriors olup olmadığını veya puan değerinin 100’den büyük olup olmadığını belirlemek ve sonucu C2 hücresine döndürmek istediğimizi varsayalım.
Bunun için aşağıdaki makroyu oluşturabiliriz:
Sub IfOrTest()
If Range(" A2 ") = "Warriors" Or Range(" B2 ") > 100 Then
Range(" C2 ").Value = " Yes! "
Else
Range(" C2 ").Value = " No. "
End If
End Sub
Bu makroyu çalıştırdığımızda aşağıdaki çıktıyı alıyoruz:
Makro, “Evet!” değerini doğru şekilde döndürür. » Koşullardan en az biri karşılandığı için C2 hücresinde.
A2 hücresindeki noktaların değerini değiştirip makroyu tekrar çalıştırırsak, yeni değerler için her iki koşulun da karşılanıp karşılanmadığını test eder:
Örneğin takım adını “Rockets” olarak değiştirdiğimizi ve makroyu tekrar çalıştırdığımızı varsayalım:
Makro, “Hayır” değerini doğru şekilde döndürür. her iki koşul da karşılanmadığından C2 hücresinde.
Bunun yerine sonuçları bir mesaj kutusunda görüntülemek istiyorsanız aşağıdaki sözdizimini kullanabilirsiniz:
Sub IfOrTest()
If Range(" A2 ") = "Warriors" Or Range(" B2 ") > 100 Then
MsgBox “ Yes! ”
Else
MsgBox “ No. ”
End If
End Sub
Bu makroyu çalıştırdığımızda aşağıdaki çıktıyı alıyoruz:
Mesaj kutusu “Hayır” değerini döndürür. çünkü her iki koşul da karşılanmadı.
Not : Bu örnekte, iki koşulun doğru olup olmadığını test etmek için makromuzda Or operatörünü yalnızca bir kez kullandık, ancak ikiden fazla koşulun karşılanıp karşılanmadığını test etmek için istediğiniz kadar Or operatörünü kullanabilirsiniz.
Ek kaynaklar
Aşağıdaki eğitimlerde VBA’da diğer ortak görevlerin nasıl gerçekleştirileceği açıklanmaktadır:
VBA: DÜŞEYARA nasıl kullanılır
VBA: Bir dizedeki karakterlerin oluşumları nasıl sayılır?
VBA: bir dizenin başka bir dize içerip içermediği nasıl kontrol edilir