Excel VBA Select Case İfadesi
Select Case , VBA'da birden çok if ifadesinin yazılmasının yerine geçer; bir kodda birçok koşulumuz olduğunda, birden çok If ifadesi kullanmak zorunda kalabiliriz ve bu, If ifadelerinin daha fazlası sağlandıkça daha karmaşık hale geldikçe yorucu olabilir. seçme vaka ifadesi, kriterleri farklı durumlar ve bunlara göre sonuçlar olarak tanımlarız.
ÖRNEK SEÇ, karar verme sürecinde yardımcı olur. Bunda, farklı olası durumları değerlendirmek için yalnızca bir ifade kullanılır. Geliştirilen kodu yürütmek için birden fazla koşul kolayca analiz edilir. Bu case ifadesi, ifadeleri değerlendirmek için ELSE EĞER'in yerine geçen bir ifade olarak kullanılır. Excel'de yerleşik bir mantıksal işlev olarak sınıflandırılır. Bu işlevi kullanmak için kod, geliştirici sekmesi altında sunulan görsel temel düzenleyici aracılığıyla girilir.
Açıklama
Select Case'de çeşitli ifade grupları kullanılır. Bunu etkili bir şekilde kullanmak için aşağıdaki sözdizimi izlenmelidir. Java, C # ve PHP gibi diğer programlama dillerinde sunulan switch deyimine benzer.
Test etmek için [Durum] İfadesini seçin [Durum] İfade İfadeleri Listesi (Durum 1, Durum 2, Durum 3 vb.) Başka Durum (Diğer İfadeler) Son Seçimi
Seçilmiş durumla ilişkili terimlerin açıklaması aşağıdaki gibidir
Test için bir ifade: Tamsayı, dize, boole, nesne ve karakter gibi farklı veri türlerini değerlendirmek gerekir.
İfade Listesi: İfadeler, girilen girişin tam eşleşmesini bulmak için servis talebi ile oluşturulur. İkiden fazla ifade varsa, bunlar virgül operatörü kullanılarak ayrılır. 'Eşittir', excel'deki =,, = gibi mantıksal işleçleri kullanarak iki ifadeyi karşılaştırmak için kullanılan bir anahtar kelimedir.
- End Select: Yapıcı seçme durum tanımını kapatır
- İfadeler: İfadeler, eşleşen herhangi bir ifade olup olmadığını analiz etmek için değerlendirilen ifadeleri çalıştırmak için durum kullanılarak geliştirilir.
- Else İfadeleri: Test ifadesi herhangi bir case ifadesiyle eşleşmediğinde else ifadesini test etmektir.
VBA Select Case Bildirimi nasıl kullanılır?
VBA tarafından sağlanan seçili durum özelliği normal çalışma sayfalarında çalışmaz. Geliştirici sekmesinin altındaki Visual Basic seçeneğini kullanmamız gerekiyor. İşletme alanındaki çeşitli küçük uygulamaları çalıştırmak için geliştirici modunda oluşturulan kullanıcı tanımlı işlevler ve kodlama.
Excel'de iç içe geçmiş if ifadelerinin olduğu durumlarda kullanılır. Çeşitli durum ifadeleriyle başa çıkmak için en iyi seçenektir. Bu seçeneği etkili bir şekilde kullanmak için aşağıdaki görevler gerçekleştirilmelidir
- Öncelikle, excel sayfasına komut düğmesi kontrolü yerleştirerek bir makro oluşturmanız gerekir.
- Bundan sonra komut düğmesine sağ tıklayın ve kodu görüntüle seçeneğini seçin
- Kodu, komut düğmesi işlevi ile son alt
- Sözdizimi hatalarını belirlemek için kodda hata ayıklayın.
- Programı başarıyla yürütmek için derleme hatalarını bulmak için kodu derleyin
- Eşleşen kriterlere göre farklı sonuçları gözlemlemek için girdi değerlerini değiştirin
Örnek 1 - Basit Seçimli Durum İfadesi
Bu örnek, eşleşen değeri bulmak için basit seçme durumunu anlamak içindir.
Kod:
Özel Alt Selcaseexmample () Dim A As Tamsayı A = 20 Bir Durum Seçin 10 MsgBox "İlk Durum eşleşti!" Olay 20 MsgBox "İkinci Vaka eşleşti!" Olay 30 MsgBox "Üçüncü Vaka Seçili Vakada Eşleştirildi!" Case 40 MsgBox "Dördüncü Vaka Seçili Vaka ile eşleşti!" Case Else MsgBox "Vakaların hiçbiri eşleşmiyor!" End Select End Sub
Sonuç:
Test ifadesini farklı vakalarla karşılaştırmak için dört case ifadesi ve case else ifadesi kullanılır. Mevcut örnekte, ikinci durum, A değişkeninin 20 ile eşleşmesiyle eşleştirilir.
Örnek 2 - Notları Test Etmek İçin 'Kime' Anahtar Kelimesi
Bu örnek, 'Kime' anahtar kelimesinin seçili durumla kullanımını açıklamaktadır.
Kod:
Özel Alt Selcasetoexample () Öğrenci işaretlerini tamsayı olarak karart öğrenci işaretleri = InputBox ("1 ile 100 arasındaki işaretleri girin?") Vaka öğrenci işaretlerini seçin Durum 1 ila 36 MsgBox "Başarısız!" Durum 37 ila 55 Mesaj Kutusu "C Sınıfı" Vaka 56 ila 80 Mesaj Kutusu "B Sınıfı" Durum 81 ila 100 Mesaj Kutusu "A Sınıfı" Vaka Başka Mesaj Kutusu "Aralık dışı" Son Seç Son Alt
Sonuç:
'To' anahtar sözcüğü, bir aralıktaki test ifadeleri kümesini tanımlamada yardımcı olur. Farklı vakaları karşılaştırarak bir öğrencinin aldığı notu bulmada yardımcı olur. Programı çalıştırdıktan sonra sonucu almak için değeri girmemiz gerekiyor.
Çıktı, yukarıdaki ekran görüntüsünde gösterildiği gibi bir mesaj kutusuyla görüntülenir.
Örnek 3 - Seçili Büyük / Küçük Harfe Sahip 'Eşittir' Anahtar Kelimesini Kullanma
Bu örnek, 'Is' anahtar kelimesinin seçili büyük / küçük harf kullanımı ile kullanımını gösterir.
Kod:
Sub CheckNumber () Dim NumInput As Integer NumInput = InputBox ("Lütfen bir sayı girin") Case NumInput Case Is = 200 MsgBox "200'den büyük veya buna eşit bir sayı girdiniz" End Sub Select
'Eşittir' anahtar kelimesi, yalnızca durum ifadeleriyle eşleşen değerleri bulmaya yardımcı olur. Çıktı üretmek için test ifadesini verilen girdi ile karşılaştırır.
Girilen değer 200'den fazla ise çıktı şekilde gösterildiği gibi elde edilir.
Örnek 4 - Değerleri Değiştirmek İçin Komut Düğmesiyle
Seçili durum ayrıca bir makro oluşturarak Komut düğmesiyle birlikte kullanılır.
Kod:
Sub color() Dim color As String color = Range("A1").Value Select Case color Case "Red", "Green", "Yellow" Range("B1").Value = 1 Case "White", "Black", "Brown" Range("B1").Value = 2 Case "Blue", "Sky Blue" Range("B1").Value = 3 Case Else Range("B1").Value = 4 End Select End Sub
As shown in the program, the input is taken from the cells of the worksheet. The program is executed after clicking on the command button used from ActiveX controls. In this, a comma separator is used to combine the test expressions.
When the value in the Cell A1 changed, it results in a change in the B1 cell also by running the excel macro through the command button. You can refer to the screenshot given below:-
Example #5 – Check a Number Odd or Even
This example to help to check a number is even or odd.
Code:
Sub CheckOddEven() CheckValue = InputBox("Enter the Number") Select Case (CheckValue Mod 2) = 0 Case True MsgBox "The number is even" Case False MsgBox "The number is odd" End Select End Sub
The coding is developed as shown in the screenshot and output is displayed as follows when even number is entered.
Example #6 – Nested Select Case Statements
Nesting is a useful feature of the select case and the way how it is done is shown.
Code:
Sub TestWeekday() Select Case Weekday(Now) Case 1, 7 Select Case Weekday(Now) Case 1 MsgBox "Today is Sunday" Case Else MsgBox "Today is Saturday" End Select Case Else MsgBox "Today is a Weekday" End Select End Sub
Here the select case is defined inside another select case to test a day, weekday, or weekend. Except case 1 and 7 remaining all are weekdays (Note: case 1 is Sunday and case 7 is Saturday)
Things to Remember
- The ‘Is’ keyword using in the statement of [case] and [case else] are not equal.
- ActiveX control should be used in executing program through a command button taking input and displaying output in the excel sheet range of cells.
- It is hard to run the programs in VBA if macros are disabled and always enable Macros to get best results.
- VBA is a case sensitive and input should be entered accurately to get better results.