Tuyên bố trường hợp VBA - Ví dụ về Tuyên bố trường hợp lựa chọn VBA

Tuyên bố trường hợp VBA trong Excel

VBA Case Statement là một trong những hàm logic. Câu lệnh tình huống kiểm tra nhiều phép thử logic và đưa ra kết quả theo hai cách, tức là nếu kết quả hoặc phép thử logic là ĐÚNG thì một bộ kết quả và nếu kết quả hoặc phép thử logic là FALSE thì bộ kết quả thứ hai.

Các bài kiểm tra logic thường được tiến hành bằng cách sử dụng công thức IF, có thể là công thức trang tính hoặc trong mã hóa VBA; trong cả hai nền tảng, chức năng này giúp chúng tôi thực hiện nhiều loại tính toán phức tạp. Không nhiều người trong chúng ta nhận ra rằng chúng ta có một giải pháp thay thế cho câu lệnh IF trong VBA, tức là “Câu lệnh tình huống”. Bài viết này cung cấp cho bạn đầy đủ thông tin chi tiết về câu lệnh logic này.

Cú pháp

Dưới đây là cú pháp của câu lệnh "Chọn trường hợp".

Chọn Trường hợp “Giá trị cần kiểm tra” Trường hợp là “Kiểm tra logic” Kết quả nếu Trường hợp 1 là ĐÚNG Trường hợp là “Kiểm tra logic” Kết quả nếu Trường hợp 2 là ĐÚNG Trường hợp là “Kiểm tra logic” Kết quả nếu Trường hợp 3 là ĐÚNG Trường hợp khác Nếu không kết quả là ĐÚNG lựa chọn kết thúc

Điều này gần giống với cú pháp câu lệnh IF, nhưng thay vì sử dụng ELSEIF, chúng tôi sử dụng Trường hợp 1, Trường hợp 2, Trường hợp 3, v.v.

Ví dụ về Tuyên bố trường hợp VBA

Ví dụ 1

Trong ô A1, tôi đã nhập số là 240.

Bây giờ chúng ta sẽ kiểm tra xem con số này có lớn hơn 200 hay không bằng cách sử dụng câu lệnh SELECT CASE .

Bước 1: Mở câu lệnh Chọn trường hợp ngay bây giờ.

Mã:

Sub Select_Case_Example1 () Chọn trường hợp kết thúc Sub

Bước 2: Sau khi “Chọn trường hợp” được mở, chúng tôi cần cung cấp giá trị mà chúng tôi đang kiểm tra là gì. Trong trường hợp này, chúng tôi đang kiểm tra các giá trị ô A1.

Mã:

Sub Select_Case_Example1 () Select Case Range ("A1"). Giá trị End Sub

Bước 3: Khi giá trị cần kiểm tra được đưa ra ngay bây giờ, chúng ta cần áp dụng các kiểm tra logic trong excel bằng cách sử dụng từ “ Case Is ”.

Mã:

Sub Select_Case_Example1 () Select Case Range ("A1"). Giá trị Case> 200 End Sub

Bước 4: Bây giờ, trong dòng tiếp theo, chúng ta cần cung cấp giá trị "kết quả" nếu phép thử logic được áp dụng là ĐÚNG. Trong hộp thông báo, chúng ta cần kết quả là “Số là> 200”.

Mã:

Sub Select_Case_Example1 () Select Case Range ("A1"). Giá trị Case> 200 MsgBox "Số> 200" End Sub

Bước 5: Trong ví dụ này, chúng ta chỉ cần hai kết quả, vì vậy tôi sẽ không sử dụng thêm câu lệnh “Case Is”. Tiếp theo, tôi sẽ sử dụng từ “Trường hợp khác” để đóng câu lệnh “Chọn trường hợp” trong VBA.

Mã:

Sub Select_Case_Example1 () Chọn phạm vi trường hợp ("A1"). Giá trị trường hợp là> 200 MsgBox "Số là> 200" Trường hợp khác MsgBox "Số là <200" Kết thúc phụ

Bước 6: Sau khi tất cả các trường hợp được cung cấp, chúng ta cần đóng câu lệnh trường hợp đã chọn bằng cách sử dụng từ “Kết thúc Chọn”.

Mã:

Sub Select_Case_Example1 () Select Case Range ("A1"). Giá trị Case là> 200 MsgBox "Số là> 200" Case Else MsgBox "Số là <200" End Chọn End Sub

Bước 7: Bây giờ chạy mã và xem kết quả chúng ta nhận được trong hộp thông báo VBA là gì.

Kết quả chúng tôi nhận được là "Số là> 200" vì trong ô A1 giá trị là 240, là> 200.

Ví dụ số 2

Bây giờ chúng ta sẽ thấy một số ví dụ thực tế về điểm kiểm tra. Nhìn vào mã VBA bên dưới.

Mã:

Sub Select_Case_Example2 () Dim ScoreCard As Integer ScoreCard = Application.InputBox ("Điểm phải là b / w 0 đến 100", "Điểm bạn muốn kiểm tra là bao nhiêu") Chọn Case ScoreCard Case Is> = 85 MsgBox Trường hợp "Phân biệt" Is> = 60 MsgBox Trường hợp "Loại thứ nhất" Là> = 50 MsgBox Trường hợp "Loại thứ hai" Là> = 35 MsgBox "Đạt" Trường hợp khác MsgBox "Thất bại" Kết thúc Chọn Kết thúc Phụ

Hãy để tôi giải thích từng dòng mã để hiểu rõ hơn.

Đầu tiên, tôi đã khai báo biến là Số nguyên và đối với biến này, tôi đã gán InputBox trong VBA, nơi người dùng phải nhập điểm từ 0 đến 100.

Khi chạy mã, bạn sẽ thấy ô nhập như bên dưới, và trong ô nhập này, bạn cần nhập điểm.

Giờ đây, bất cứ thứ gì chúng ta nhập vào ô nhập sẽ được lưu trữ vào biến “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

  • Chọn Trường hợp là một thay thế cho câu lệnh IF.
  • Chọn Case chỉ khả dụng với VBA.
  • Trong dòng đầu tiên của “Chọn trường hợp”, chúng tôi chỉ cần cung cấp giá trị cần được kiểm tra. Sau đó, trong dòng “Trường hợp”, chúng ta cần áp dụng phép thử logic. Điều này không giống như điều kiện IF của chúng tôi.

thú vị bài viết...