Vba: birden fazla koşulu test etmek için if and kullanın


Birden fazla koşulun karşılanıp karşılanmadığını test etmek için VBA’da IF ve AND ile aşağıdaki temel sözdizimini kullanabilirsiniz:

 SubIfAnd ()
    If Range(" A2 ") = "Warriors" And 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ı ve 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.

Ö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ı ve 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:

 SubIfAnd ()
    If Range(" A2 ") = "Warriors" And 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, “Hayır” değerini doğru şekilde döndürür. iki koşul karşılanmadığından C2 hücresinde.

B2 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 edecektir:

Örneğin puan değerini 104 olarak değiştirdiğimizi ve makroyu tekrar çalıştırdığımızı varsayalım:

Makro, “Evet!” değerini doğru şekilde döndürür. » Her iki koşul da karşılandığı için C2 hücresinde.

Bunun yerine sonuçları bir mesaj kutusunda görüntülemek istiyorsanız aşağıdaki sözdizimini kullanabilirsiniz:

 SubIfAnd ()
    If Range(" A2 ") = "Warriors" And 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 “Evet!” sonucunu verir. » Takımın adı Warriors olduğundan ve puan değeri 100’den büyük olduğundan.

Not : Bu örnekte, iki koşulun doğru olup olmadığını test etmek için And işlecini makromuzda yalnızca bir kez kullandık, ancak ikiden fazla koşulun karşılanıp karşılanmadığını test etmek için istediğiniz kadar And işleci 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