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