Kes Tukar VBA - Contoh Menggunakan Pernyataan Beralih Excel VBA

Isi kandungan

Kes Tukar VBA Excel

Switch Case atau Select Case adalah pernyataan yang terdapat di VBA untuk menjalankan ujian logik di mana ia berfungsi sebagai alternatif kepada pernyataan IF-THEN di VBA. Dengan menggunakan Switch Case, kita dapat melakukan beberapa ujian logik dan mendapatkan hasil berdasarkan pelbagai hasil.

Berikut adalah sintaks pernyataan Switch Case / Select Case.

Kod:

Pilih Nilai Kes Kes 1 jika Ujian Kes 1 adalah Nilai Kes 2 BENAR jika Ujian Kes 2 adalah Nilai Kes Kes 3 BENAR jika Ujian Kes 3 adalah Nilai Kes Lain BENAR jika tiada kes di atas adalah Pilih Akhir BENAR

: Apakah ujian logik? Kita perlu memasuki ujian di sini.

Kes 1, Kes 2: Dalam setiap kes, kita perlu menguji pelbagai ujian logik di excel.

Bagaimana Menggunakan Pernyataan Kes Beralih VBA?

Contoh # 1

Dalam sel A1 saya telah memasukkan nilai sebagai 550.

Kami akan menguji nombor ini menggunakan pernyataan kes suis dan sampai pada status sebagai "Lebih dari 500" jika nilainya lebih dari 500 atau jika tidak, kami akan sampai pada status sebagai "Kurang dari 500".

Buka prosedur VBA Sub terlebih dahulu.

Kod:

Sub Switch_Case () Akhir Sub

Buka Select Case Statement di VBA dan berikan nilai logic Range (“A2”)

Kod:

Sub Switch_Case () Pilih Julat Kes ("A2"). Nilai Akhir Sub

Sekarang masukkan kes pertama kerana Kes adalah> 500.

Kod:

Sub Switch_Case () Pilih Julat Kes ("A2"). Nilai Kes ialah> 500 Sub Akhir

Sekiranya kes ini BENAR, maka apa hasil yang kita perlukan di sel B, 2, iaitu, "Lebih dari 500".

Kod:

Sub Switch_Case () Pilih Julat Kes ("A2"). Nilai Kes adalah> Julat 500 ("B2"). Nilai = "Lebih dari 500" Sub Akhir

Sekarang kita tinggal dengan satu hasil sahaja, iaitu, pernyataan Case Else. Sekiranya Kes pertama SALAH, maka kita memerlukan hasilnya sebagai "Kurang dari 500".

Kod:

Sub Switch_Case () Pilih Julat Kes ("A2"). Nilai Kes adalah> Julat 500 ("B2"). Nilai = "Lebih daripada 500" Julat Kes Lain ("B2"). Nilai = "Kurang dari 500" Sub Akhir

Sekarang tutup pernyataan dengan menggunakan pernyataan "Pilih Akhir".

Kod:

Sub Switch_Case () Select Range Case ("A2"). Value Case Is> 500 Range ("B2"). Value = "Lebih dari 500" Case Else Range ("B2"). Value = "Less from 500" End Select Sub Akhir

Jalankan kod kita akan mendapat nilai dalam sel B2.

Oleh kerana nilai dalam sel A2 lebih besar dari 500, kami mendapat hasilnya sebagai "Lebih dari 500".

Contoh # 2

Sekarang kita akan melihat menggunakan lebih banyak contoh kes. Berikut adalah skor pelajar dalam peperiksaan.

Dengan skor ini, kita perlu sampai di Gred, kerana di bawah ini adalah kriteria.

  • Skor> = 85, Gred = "Dist"
  • Skor> = 60, Gred = "Pertama"
  • Skor> = 50, Gred = "Kedua"
  • Skor> = 35, Gred = "Lulus"
  • Sekiranya ada yang lain Gred = "Gagal."

Kod:

Sub Suis_Kase1 ()

 Skor Dim Sebagai Skor Integer = 65 Pilih Skor Kes Kes>> 85 MsgBox "Dist" Case Is> = 60 MsgBox "First" Case Is> = 50 MsgBox "Second" Case Is> = 35 MsgBox "Pass" Case Else MsgBox " Gagal "Akhir Pilih Sub Akhir

Jalankan kod ini. Kami akan mendapat gred di kotak mesej.

Since the score is more than 60 but less than 85 grade is “First.”

Example #3

We have seen how to find a grade for one student, what about finding a grade for more than one student. Below are the scores of students.

Since more than one student is involved, we need to enclose FOR NEXT loop in VBA. Below is the VBA code.

Code:

Sub Switch_Case2() Dim k As Integer For k = 2 To 7 Select Case Cells(k, 2).Value Case Is>= 85 Cells(k, 3).Value = "Dist" Case Is>= 60 Cells(k, 3).Value = "First" Case Is>= 50 Cells(k, 3).Value = "Second" Case Is>= 35 Cells(k, 3).Value = "Pass" Case Else Cells(k, 3).Value = "Fail" End Select Next k End Sub

Run this code. We will get grades.

Things to Remember

  • Switch Case is often referred to as “Select Case.”
  • The switch is a function, not a statement.
  • Sekiranya tidak ada ujian logik yang BENAR, maka anda boleh lulus hasil alternatif dalam pernyataan CASE ELSE dan selalu tutup pernyataan tersebut dengan kata "SELECT END".

Artikel menarik...