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

Yorum ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir