Select Case trong VBA Excel được sử dụng để thực thi khối lệnh theo nhánh điều kiện. Nếu nhánh điều kiện nào đúng thì lệnh sẽ thực thi trong nhánh đó và thoát.
Về cách thực thi, Select Case cũng khá giống với hàm IF. Nhưng trong nhiều trường hợp, Select Case giúp đoạn lệnh của bạn ngắn gọn dễ đọc, dễ chỉnh sửa và cho tốc độ xử lý nhanh hơn.
Cách sử dụng hàm Select Case trong VBA Excel
Để rõ về cách sử dụng Select Case dưới đây là cú pháp và ví dụ về các trường hợp mà bạn có thể áp dụng Select Case khi sử dụng VBA Excel.
Cú pháp Select Case
Select Case có thể thực hiện kiểm tra biến theo kiểu chuỗi hoặc kiểu số. Nhưng thông thường chúng ta hay sử dụng kiểm tra biến dữ liệu là số:
Code language: CSS (css)
Trong đó:
- Biến giatri là kiểu số (hoặc là chuỗi)
- Case dk_1, Case dk_2… từng nhánh trường hợp. Nếu giatri bằng với điều kiện nào (dk_1, dk_2…) thì thực thi tại nhánh đó và thoát. Nếu giatri là kiểu chuỗi thì các dk cũng phải để kiểu chuỗi.
- Case Else: là các trường hợp giá trị không được liệt kê ở phía trên. Có thể bỏ Case Else nếu không muốn thực hiện các trường hợp còn lại.
- End Select: kết thúc một mệnh đề Select Case.
Ví dụ sử dụng Select Case
Một ví dụ kinh điển vẫn hay được gặp là kiểm tra tháng nhập vào có bao nhiêu ngày.
Phân tích: Như bạn biết tháng nào có 31 ngày, 30 ngày rồi và riêng tháng 2 sẽ có 28 hoặc 29 ngày. Vậy bạn có thể sử dụng Inputbox để nhập vào 1 tháng, sau đó kiểm tra và đưa ra kết quả tháng đó có bao nhiều ngày.
Code language: PHP (php)
Nhóm nhánh Case nếu cùng thực thi khối lệnh như nhau.
Như bạn thấy trong ví dụ trên, nếu có 12 tháng thì phải có 12 Case. Tuy nhiên, các tháng như 1, 3, 5, 7… có 31 ngày; còn các tháng 4, 6, 9, 11 có 30 ngày. Vậy để đơn giản hơn bạn có thể nhóm các trường hợp lại chung 1 Case như sau.
Code language: PHP (php)
Hoặc nếu bạn muốn nhóm Case theo khoảng giá trị theo thứ tự:
Code language: PHP (php)
Hoặc chỉ khai báo các Case muốn kiểm tra:
Code language: PHP (php)
Hoặc sử dụng so sánh lớn hơn hoặc nhỏ hơn.
Code language: PHP (php)
Tham khảo thêm về trường hợp sử dụng Case Else tại đây (docs.microsoft.com).
Khi nào sử dụng hàm Select Case thay vì sử dụng hàm If?
Qua ví dụ trên, thì bạn đều có thể sử dụng được hàm IF để thực hiện. Nhưng bạn có thể thấy ở cách nhóm thì Select Case đơn giản và dễ thực hiện hơn IF đúng không nào? Vậy bạn nên sử dụng Select Case trong 1 số trường hợp như sau:
- Chỉ kiểm tra 1 biến giá trị với nhiều điều kiện khác nhau.
- Nhiều điều kiện rời rạc nhưng so sánh với 1 biến cố định và có thể nhóm được.
- Biến kiểm tra đơn giản, không cần xử lý. Còn IF sẽ sử dụng cho các câu điều kiện phức tạp hơn.
- Cần lệnh dễ đọc và chỉnh sửa.
Như vậy, bạn đã vừa tìm hiểu xong cách sử dụng Select Case trong VBA Excel rồi. Bạn có thể tham khảo các bài viết về VBA trên ChiTietCach.Com tại đây.
Xin chào chúng mình là Gen Z. Thế hệ tuổi trẻ Gen Z chúng mình chia sẻ cho nhau những bài viết bổ ích giúp nhằm mục đích phi lợi nhuận và cùng nhau phát triển bản thân về cả tri thức lẫn tinh thần. Nếu bạn đam mê viết lách và chia sẻ câu chuyện cá nhân của bạn trên nền tảng internet hãy gửi tin nhắn đến cho chúng mình cùng gia nhập cộng đồng cùng nhau học hỏi và chia sẻ kiến thức nhé