MACRO
EXCEL OBJECT
VBA BASIC
VBA FORM
BÀI TẬP
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

Lệnh Select Case trong VBA: Rẻ nhánh chương trình đơn giản

Trong bài này chúng ta sẽ tìm hiểu lệnh Select Case trong VBA, đây là lệnh rẻ nhánh có công dụng tương tự như lệnh if then, tuy nhiên nó có nhiều mặt hạn chế hơn nên ít được sử dụng hơn.

Trong lập trình VBA Excel, nếu bạn muốn so sánh một giá trị nào đó rồi rẻ nhánh chương trình thì tốt nhất là bạn hãy sử dụng lệnh Select Case. Còn nếu điều kiện so sánh phức tạp thì nên sử dụng lệnh If Else.

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

1. Cú pháp Select Case trong VBA

Trước tiên hãy tham khảo cú pháp sau:

Select Case variable
    Case Is condition1
        ' Code chạy nếu condition1 true
    Case Is condition2
        ' Code chạy nếu condition2 true
    Case Is condition3
        ' Code chạy nếu condition3 true
    ...
    ...
    Case Else
        ' Code chạy nếu khôngcó case nào ở trên chạy
End Select

Trong đó:

  • variable là giá trị cần mang đi so sánh ở các case
  • condition1, condition2, ... là những điều kiện so sánh ở mỗi case, nếu case nào có điều kiện trả về true thì code trong case đó được chạy, sau đó nhảy ra khỏi lệnh Select Case.
  • Case Else sẽ chạy khi các case ở phía trên không có case nào được chạy.

Ví dụ: Kiểm tra điểm số và in kết quả.

Dim score As Integer, result as String
score = 70

Select Case score
    Case Is >= 80
        result = "Giỏi"
    Case Is >= 70
        result = "Khá"
    Case Is >= 60
        result = "Trung bình"
    Case Else
        result = "Yếu"
End Select

Chạy đoạn code này thì biến result sẽ có giá trị là "good", tức là case dưới đây sẽ được chạy.

    Case Is >= 70
        result = "Khá"

Vì có một case thỏa và chạy rồi nên những case phía dưới sẽ không chạy nữa, tức trình biên dịch sẽ nhảy ra khỏi lệnh này luôn.

2. Ví dụ khác về Select Case trong VBA

Cho giá trị của ô A1 là 70, hãy viết chương trình kiểm tra giá trị của ô này và in ra kết quả ở ô B1 theo yêu cầu sau:

  • Nếu A1 >= 80 thì B1 nhận giá trị "Giỏi"
  • Nếu A1 >= 70 thì B1 nhận giá trị "Khá"
  • Nếu A1 >= 60 thì B1 nhận giá trị "Trung bình"
  • Trường hợp còn lại thì B1 nhận giá trị "Yếu"

Cách làm như sau:

1. Tạo một command button.

tao command button JPG

2. Viết chương trình sau vào sự kiện click button.

Nếu bạn chưa biết cách làm thì hãy xem bài cách tạo macro nhé.

Private Sub CommandButton1_Click()

    Dim score As Integer, result As String
    score = Range("A1").Value
    
    Select Case score
        Case Is >= 80
            result = "Gioi"
        Case Is >= 70
            result = "Kha"
        Case Is >= 60
            result = "Trung binh"
        Case Else
            result = "Yeu"
    End Select
    
    Range("B1").Value = result
    
End Sub

code vba JPG

Bạn hãy click vào button thì thu được kết quả như sau:

ket qua JPG

Bạn có thể thay đổi giá trị của ô A1 và click lại vào button để xem kết quả thay đổi như thế nào nhé.

Trên là cách sử dụng lệnh Select Case trong VBA, đây là lệnh dùng để rẻ nhánh chương trình trong trường hợp bạn cần so sánh để rẻ nhánh một giá trị nào đó. Trường hợp phức tạp hơn thì ta nên sử dụng lệnh if else. Chúc bạn thành công!

Cùng chuyên mục:

Cách chèn link ảnh vào Excel trên máy tính

Cách chèn link ảnh vào Excel trên máy tính

Ngoài ra, bài viết còn hướng dẫn cách chèn link ảnh trực tuyến hàng loạt…

Cách tách và gộp ô trong Excel

Cách tách và gộp ô trong Excel

Trong bảng tính Microsoft Excel, có thể sẽ có lúc các bạn cần tách ô…

Hàm MONTH() trong Excel

Hàm MONTH() trong Excel

Cách dùng hàm MONTH() trong Excel

Hàm YEAR () trong Excel

Hàm YEAR () trong Excel

Cách dùng hàm YEAR () trong Excel

Hàm HLOOKUP() trong Excel

Hàm HLOOKUP() trong Excel

Cách dùng hàm HLOOKUP() trong Excel

Hàm VLOOKUP() trong Excel

Hàm VLOOKUP() trong Excel

Cách dùng hàm VLOOKUP() trong Excel

Hàm LOOKUP() trong Excel

Hàm LOOKUP() trong Excel

Cách dùng hàm LOOKUP() trong Excel

Hàm ABS() trong Excel

Hàm ABS() trong Excel

Cách dùng hàm ABS() trong Excel

Hàm SUM() trong Excel

Hàm SUM() trong Excel

Cách dùng hàm SUM() trong Excel

Hàm SQRT() trong Excel

Hàm SQRT() trong Excel

Cách dùng hàm SQRT() trong Excel

Hàm MOD() trong Excel

Hàm MOD() trong Excel

Cách dùng hàm MOD() trong Excel

Hàm SUMIF() trong Excel

Hàm SUMIF() trong Excel

Cách dùng hàm SUMIF() trong Excel

Hàm SUBTOTAL() trong Excel

Hàm SUBTOTAL() trong Excel

Cách dùng hàm SUBTOTAL() trong Excel

Hàm ROUND() trong Excel

Hàm ROUND() trong Excel

Cách dùng hàm ROUND() trong Excel

Hàm SUMPRODUCT() trong Excel

Hàm SUMPRODUCT() trong Excel

Cách dùng hàm SUMPRODUCT() trong Excel

Hàm COUNT() trong Excel

Hàm COUNT() trong Excel

Cách dùng hàm COUNT() trong Excel

Hàm COUNTA() trong Excel

Hàm COUNTA() trong Excel

Cách dùng hàm COUNTA() trong Excel

Hàm COUNTBLANK() trong Excel

Hàm COUNTBLANK() trong Excel

Cách dùng hàm COUNTBLANK() trong Excel

Hàm MAX() trong Excel

Hàm MAX() trong Excel

Cách dùng hàm MAX() trong Excel

Hàm MIN() trong Excel

Hàm MIN() trong Excel

Cách dùng hàm MIN() trong Excel

Top