Penyataan Kes Excel VBA
Penyataan Kes VBA adalah salah satu fungsi logik. Pernyataan Kes menguji pelbagai ujian logik dan memperoleh hasilnya dengan dua cara iaitu jika keputusan atau ujian logik itu BENAR satu set hasil dan jika keputusan atau ujian logik itu SALAH maka set hasil kedua.

Ujian logik biasanya dijalankan menggunakan formula IF, sama ada formula lembaran kerja atau dalam pengekodan VBA; di kedua-dua platform, fungsi ini membantu kita melakukan pelbagai jenis pengiraan yang rumit. Tidak banyak dari kita yang menyedari bahawa kita mempunyai alternatif untuk penyataan IF di VBA iaitu, "Pernyataan Kes." Artikel ini memberi anda maklumat lengkap mengenai pernyataan logik ini.
Sintaks
Berikut adalah sintaks pernyataan “Select Case”.
Pilih Kes "Nilai yang Akan Diuji" Kes adalah Keputusan "Uji Logik" jika Kes 1 adalah BENAR Kes adalah Hasil "Uji Logik" jika Kes 2 adalah BENAR Kes adalah Hasil "Uji Logik" jika Kes 3 adalah Kes BENAR Jika Tidak keputusan adalah Pilihan TEPAT
Ini hampir serupa dengan sintaks pernyataan IF, tetapi daripada menggunakan ELSEIF, kami menggunakan Kes 1, Kes 2, Kes 3, dan sebagainya.
Contoh Penyataan Kes VBA
Contoh # 1
Di sel A1 saya telah memasukkan nombor sebagai 240.

Sekarang kita akan menguji nombor ini sama ada ini lebih besar daripada 200 atau tidak dengan menggunakan pernyataan SELECT CASE .
Langkah 1: Buka pernyataan Pilih Kes sekarang.
Kod:
Sub Pilih_Case_Contoh1 () Pilih Sub Akhir Kes

Langkah 2: Setelah "Select Case" dibuka, kita perlu memberikan berapa nilai yang sedang kita uji. Dalam kes ini, kami menguji nilai sel A1.
Kod:
Sub Pilih_Case_Contoh1 () Pilih Julat Kes ("A1"). Nilai Akhir Sub

Langkah 3: Setelah nilai yang akan diuji diberikan sekarang, kita perlu menerapkan ujian logik di excel dengan menggunakan kata " Case Is ".
Kod:
Sub Select_Case_Example1 () Select Range Case ("A1"). Nilai Case adalah> 200 End Sub

Langkah 4: Sekarang, di baris berikutnya, kita perlu memberikan nilai "hasil" jika ujian logik yang diterapkan adalah BENAR. Di kotak mesej, kita memerlukan hasilnya sebagai "Nombor adalah> 200".
Kod:
Sub Select_Case_Example1 () Select Range Case ("A1"). Nilai Case Is> 200 MsgBox "Number is> 200" End Sub

Langkah 5: Dalam contoh ini, kita hanya memerlukan dua hasil, jadi saya tidak akan menggunakan lebih banyak pernyataan "Case Is". Seterusnya, saya akan menggunakan kata "Case Else" untuk menutup pernyataan "Select Case" VBA.
Kod:
Sub Select_Case_Example1 () Select Range Case ("A1"). Value Case Is> 200 MsgBox "Number is> 200" Case Else MsgBox "Number is <200" End Sub

Langkah 6: Setelah semua kes dibekalkan, kita perlu menutup pernyataan kes pilih dengan menggunakan kata "Pilih Akhir".
Kod:
Sub Select_Case_Example1 () Select Range Case ("A1"). Value Case Is> 200 MsgBox "Number is> 200" Case Else MsgBox "Number is <200" End Select End Sub

Langkah 7: Sekarang jalankan kod dan lihat apa hasil yang kita dapat di kotak mesej VBA.

Hasil yang kami dapat adalah "Number is> 200" kerana dalam sel A1 nilai 240, yaitu> 200.
Contoh # 2
Sekarang kita akan melihat beberapa contoh skor ujian masa nyata praktikal. Lihat kod VBA di bawah.
Kod:
Sub Select_Case_Example2 () Dim ScoreCard As Integer ScoreCard = Application.InputBox ("Skor harus b / w 0 hingga 100", "Berapa skor yang ingin anda uji") Pilih Case Case ScoreCard Case> = 85 MsgBox "Distinction" Case Is> = 60 MsgBox "First Class" Case Is> = 50 MsgBox "Second Class" Case Is> = 35 MsgBox "Pass" Case Else MsgBox "Fail" Akhir Pilih Akhir Sub

Izinkan saya menerangkan baris demi baris kod untuk lebih memahami.
Pertama, saya telah menyatakan pemboleh ubah sebagai Integer, dan untuk pemboleh ubah ini, saya telah menetapkan InputBox dalam VBA, di mana pengguna harus memasukkan skor antara 0 dan 100.
Apabila anda menjalankan kod, anda akan melihat kotak input seperti di bawah, dan di kotak input ini, anda perlu memasukkan skor.

Sekarang apa sahaja yang kita masukkan dalam kotak input akan disimpan ke pemboleh ubah "ScoreCard."
In the next line, I have applied a select case statement to test this score.
First, it will test the ScoreCard>=85 or not. If this is TRUE, then we will get the value in the message box as “Distinction.”
Select Case ScoreCard Case Is>= 85 MsgBox "Distinction"
Similarly, in the following lines, I have applied the second test as ScoreCard>=60. If this is TRUE, then it will show the result as “First.”
Case Is>= 60 MsgBox "First Class"
Like this, I have applied other tests as well, and in the end, I have used the “Case Else” statement. If all the applied logical tests are FALSE, then we will get the result as “Fail.”
Case Else MsgBox "Fail"
Now I have supplied 68 as the score, and we should get the result as “First Class” in the message box.

Example #3 - Using the “To” keyword
In the above example, we have used student scores to arrive at the result. The same test can be conducted by using the “To” word to determine the lower limit and upper limit of the logical test.
Code:
Sub Select_Case_Example3() Dim ScoreCard As Integer ScoreCard = Application.InputBox("Score should be b/w 0 to 100", "What is the score you want to test") Select Case ScoreCard Case 85 To 100 MsgBox "Distinction" Case 60 To 84 MsgBox "First Class" Case 50 To 59 MsgBox "Second Class" Case 35 To 49 MsgBox "Pass" Case Else MsgBox "Fail" End Select End Sub

I have used the same code as above, but the only yellow-colored area I have changed here. Based on the number we type in the input box accordingly, we will get the result.

Things to Remember
- Select Case adalah alternatif kepada pernyataan IF.
- Select Case hanya tersedia dengan VBA.
- Pada baris pertama "Select Case", kita hanya perlu memberikan nilai yang perlu diuji. Kemudian pada baris "Kes", kita perlu menerapkan ujian logik. Ini tidak seperti keadaan JIKA kami.