Vba'da vaka i̇fadesi nasıl yazılır (örnekle)
Case ifadesi, koşullar arasında geçiş yapan ve ilk koşul karşılandığında bir değer döndüren bir ifade türüdür.
VBA’da bir vaka ifadesi yazmak için aşağıdaki temel sözdizimini kullanabilirsiniz:
SubCaseStatement () Dim i As Integer For i = 2 To 9 Select Case Range(" B " & i).Value Case Is >= 30 result=" Great " Box Is >= 20 result = " Good " Case Is >= 15 result=" OK " Case Else result=" Bad " End Select Range(" C " & i).Value = result Next i End Sub
Bu özel örnek, B2:B9 aralığındaki her hücreye bakar ve C2:C9 aralığında aşağıdaki değerleri döndürür:
- B sütunundaki değer 30’dan büyük veya ona eşitse ” Mükemmel “.
- Aksi takdirde B sütunundaki değer 20’den büyük veya ona eşitse ” İyi “.
- Aksi takdirde, B sütunundaki değer 15’ten büyük veya ona eşitse ” Tamam “.
- Aksi takdirde, önceki koşullardan hiçbiri karşılanmıyorsa “ Kötü ”.
Aşağıdaki örnek, bu sözdiziminin pratikte nasıl kullanılacağını gösterir.
Örnek: VBA’da Vaka İfadesi Yazma
Diyelim ki Excel’de farklı basketbol oyuncularının attığı sayı sayısını gösteren aşağıdaki veri setine sahibiz:
Her oyuncuya, kazanılan puan sayısına göre Mükemmel, İyi, Tamam veya Kötü değerini atamak için bir durum ifadesi yazmak istediğimizi varsayalım.
Bunun için aşağıdaki makroyu oluşturabiliriz:
SubCaseStatement () Dim i As Integer For i = 2 To 9 Select Case Range(" B " & i).Value Case Is >= 30 result=" Great " Box Is >= 20 result = " Good " Case Is >= 15 result=" OK " Case Else result=" Bad " End Select Range(" C " & i).Value = result Next i End Sub
Bu makroyu çalıştırdığımızda aşağıdaki çıktıyı alıyoruz:
C Sütunu, B sütunundaki karşılık gelen değere göre Mükemmel, İyi, Tamam veya Kötü bir değer döndürür.
Ek kaynaklar
Aşağıdaki eğitimlerde VBA’da diğer ortak görevlerin nasıl gerçekleştirileceği açıklanmaktadır:
VBA: Değerler listesi nasıl sınıflandırılır
VBA: Aralıktaki benzersiz değerler nasıl sayılır?
VBA: Aralıktaki satır sayısı nasıl sayılır?