Cách sử dụng Câu lệnh Chọn trường hợp trong VBA? (Ví dụ)

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

Chọn Case là sự thay thế của việc viết ra nhiều câu lệnh if trong VBA, khi chúng ta có nhiều điều kiện trong mã, chúng ta có thể phải sử dụng nhiều câu lệnh If và điều này có thể tẻ nhạt vì nó trở nên phức tạp hơn khi có nhiều câu lệnh If được cung cấp, trong chọn câu lệnh trường hợp, chúng tôi xác định các tiêu chí dưới dạng các trường hợp khác nhau và kết quả theo chúng.

SELECT CASE giúp trong quá trình ra quyết định. Trong trường hợp này, chỉ có một biểu thức được sử dụng để đánh giá các trường hợp có thể xảy ra khác nhau. Nhiều điều kiện được phân tích dễ dàng để thực thi mã được phát triển. Câu lệnh trường hợp này được sử dụng như một câu lệnh thay thế cho ELSE IF để đánh giá các biểu thức. Nó được phân loại là một hàm logic có sẵn trong Excel. Để sử dụng chức năng này, mã được nhập thông qua trình chỉnh sửa cơ bản trực quan được trình bày trong tab nhà phát triển.

Giải trình

Nhiều nhóm câu lệnh khác nhau được sử dụng trong Chọn trường hợp. Cú pháp sau đây nên được tuân theo để sử dụng hiệu quả. Nó tương tự như câu lệnh switch được trình bày trong các ngôn ngữ lập trình khác như Java, C # và PHP.

 Chọn [Trường hợp] Biểu thức để kiểm tra [Trường hợp] Danh sách các câu lệnh biểu thức (Trường hợp 1, Trường hợp 2, Trường hợp 3, v.v.) Trường hợp khác (Câu lệnh khác) Kết thúc Chọn 

Giải thích cho các điều khoản liên quan đến trường hợp được chọn được cung cấp như sau

Một biểu thức để kiểm tra: Cần phải đánh giá các loại dữ liệu khác nhau như số nguyên, chuỗi, boolean, đối tượng và ký tự.

Danh sách Biểu thức:  Biểu thức được tạo cùng với trường hợp để tìm kết quả khớp chính xác của dữ liệu đã nhập. Nếu có nhiều hơn hai biểu thức, chúng được phân tách bằng cách sử dụng toán tử dấu phẩy. 'Is' là một từ khóa được sử dụng để so sánh hai biểu thức bằng cách sử dụng các toán tử logic trong excel như =,, =.

  • End Select: Nó đóng định nghĩa trường hợp chọn hàm tạo
  • Câu lệnh: Các câu lệnh được phát triển bằng cách sử dụng trường hợp để chạy các biểu thức được đánh giá để phân tích nếu có bất kỳ câu lệnh phù hợp nào
  • Các câu lệnh khác: Nó là để kiểm tra câu lệnh else khi biểu thức thử nghiệm không khớp với bất kỳ câu lệnh trường hợp nào.

Làm thế nào để sử dụng VBA Select Case Statement?

Tính năng trường hợp lựa chọn do VBA cung cấp không chạy trong các trang tính bình thường. Chúng tôi cần sử dụng tùy chọn Visual Basic trong tab Nhà phát triển. Các chức năng và mã hóa do người dùng xác định được tạo ở chế độ nhà phát triển để chạy các ứng dụng nhỏ khác nhau trong lĩnh vực kinh doanh.

Nó được sử dụng trong các tình huống khi có các câu lệnh if lồng nhau trong excel. Đây là lựa chọn tốt nhất để giải quyết nhiều trường hợp khác nhau. Để sử dụng tùy chọn này một cách hiệu quả, các tác vụ sau cần được thực hiện

  • Trước hết, cần tạo macro bằng cách đặt điều khiển nút lệnh trong trang tính excel.
  • Sau đó nhấp chuột phải vào nút lệnh và chọn tùy chọn mã xem
  • Đặt mã giữa chức năng nút lệnh và kết thúc phụ
  • Gỡ lỗi mã để xác định bất kỳ lỗi cú pháp nào.
  • Biên dịch mã để tìm lỗi biên dịch để thực hiện thành công chương trình
  • Thay đổi các giá trị đầu vào để quan sát các kết quả khác nhau dựa trên các tiêu chí phù hợp
Bạn có thể tải xuống Mẫu Excel Chọn trường hợp VBA này tại đây - Mẫu Excel Chọn trường hợp VBA

Ví dụ # 1 - Tuyên bố trường hợp lựa chọn đơn giản

Ví dụ này để hiểu trường hợp chọn đơn giản để tìm giá trị phù hợp.

Mã:

Private Sub Selcaseexmample () Dim A As Integer A = 20 Chọn Trường hợp A Trường hợp 10 MsgBox "Trường hợp đầu tiên được khớp!" Trường hợp 20 MsgBox "Trường hợp thứ hai được kết hợp!" Trường hợp 30 MsgBox "Trường hợp thứ ba được khớp trong Trường hợp lựa chọn!" Trường hợp 40 MsgBox "Trường hợp thứ tư được khớp trong Trường hợp lựa chọn!" Trường hợp khác MsgBox "Không có trường hợp nào phù hợp!" Kết thúc Chọn Kết thúc Sub

Kết quả:

Bốn câu lệnh case và câu lệnh case else được sử dụng để so sánh biểu thức kiểm tra với các trường hợp khác nhau. Trong ví dụ hiện tại, trường hợp thứ hai được so khớp là biến A khớp với 20.

Ví dụ # 2 - Từ khoá 'Tới' để Kiểm tra Điểm

Ví dụ này giải thích việc sử dụng từ khóa 'Tới' với trường hợp được chọn.

Mã:

Private Sub Selcasetoexample () Làm mờ các dấu sinh viên Làm dấu sinh viên Số nguyên = InputBox ("Nhập các điểm từ 1 đến 100?") Chọn Dấu học sinh Trường hợp Trường hợp 1 Đến 36 MsgBox "Không thành công!" Case 37 đến 55 MsgBox "C Grade" Case 56 đến 80 MsgBox "B Grade" Case 81 đến 100 MsgBox "A Grade" Case khác MsgBox "Ngoài phạm vi" End Chọn End Sub

Kết quả:

Từ khóa 'To' hữu ích trong việc xác định tập hợp các biểu thức kiểm tra trong một phạm vi. Sẽ rất hữu ích trong việc tìm điểm của học sinh bằng cách so sánh các trường hợp khác nhau. Sau khi chạy chương trình, chúng ta phải nhập giá trị để có kết quả.

Đầu ra được hiển thị với một hộp thông báo như trong ảnh chụp màn hình ở trên.

Ví dụ # 3 - Sử dụng Từ khoá 'Là' với Chọn trường hợp

Ví dụ này minh họa việc sử dụng từ khóa 'Is' với trường hợp được chọn.

Mã:

 Sub CheckNumber () Dim NumInput As Integer NumInput = InputBox ("Vui lòng nhập một số") Chọn Case NumInput Case Is = 200 MsgBox "Bạn đã nhập một số lớn hơn hoặc bằng 200" End Chọn End Sub 

Từ khóa 'là' giúp tìm các giá trị phù hợp chỉ với các câu lệnh chữ hoa chữ thường. Nó so sánh biểu thức kiểm tra với đầu vào nhất định để tạo ra đầu ra.

Đầu ra thu được như trong hình nếu giá trị được nhập lớn hơn 200

Ví dụ # 4 - Với nút lệnh để thay đổi giá trị

Trường hợp được chọn cũng được sử dụng với nút Lệnh bằng cách tạo macro.

Mã:

 Màu phụ () Màu mờ Như Màu chuỗi = Phạm vi ("A1"). Giá trị Chọn màu sắc Trường hợp Màu "Đỏ", "Lục", "Vàng" Dải ("B1"). Giá trị = 1 Trường hợp "Trắng", "Đen ", Dải ô" Màu nâu "(" B1 "). Giá trị = 2 Trường hợp" Xanh lam ", Dải" Xanh da trời "(" B1 "). Giá trị = 3 Trường hợp Khác Dải ô (" B1 "). Giá trị = 4 Kết thúc Chọn Kết thúc Phụ 

Như được hiển thị trong chương trình, đầu vào được lấy từ các ô của trang tính. Chương trình được thực thi sau khi nhấp vào nút lệnh được sử dụng từ các điều khiển ActiveX. Trong trường hợp này, dấu phân tách bằng dấu phẩy được sử dụng để kết hợp các biểu thức kiểm tra.

Khi giá trị trong Ô A1 thay đổi, nó cũng dẫn đến thay đổi trong ô B1 bằng cách chạy macro excel thông qua nút lệnh. Bạn có thể tham khảo ảnh chụp màn hình dưới đây: -

Ví dụ # 5 - Kiểm tra một số Lẻ hoặc Chẵn

Ví dụ này để giúp kiểm tra một số là chẵn hay lẻ.

Mã:

 Sub CheckOddEven () CheckValue = InputBox ("Nhập số") Chọn Trường hợp (CheckValue Mod 2) = 0 Trường hợp Đúng MsgBox "Số chẵn" Trường hợp Sai MsgBox "Số là số lẻ" Kết thúc Chọn Kết thúc Sub 

Mã hóa được phát triển như thể hiện trong ảnh chụp màn hình và đầu ra được hiển thị như sau khi nhập số chẵn.

Ví dụ # 6 - Các câu lệnh trường hợp được chọn lồng nhau

Lồng là một tính năng hữu ích của trường hợp được chọn và cách nó được thực hiện được hiển thị.

Mã:

 Sub TestWeekday () Chọn trường hợp Ngày trong tuần (Hiện tại) Trường hợp 1, 7 Chọn trường hợp Ngày trong tuần (Hiện tại) Trường hợp 1 MsgBox "Hôm nay là chủ nhật" Trường hợp khác MsgBox "Hôm nay là thứ bảy" Kết thúc Chọn trường hợp khác MsgBox "Hôm nay là ngày trong tuần" Kết thúc Chọn kết thúc Phụ 

Ở đây trường hợp được chọn được xác định bên trong trường hợp được chọn khác để kiểm tra một ngày, ngày trong tuần hoặc cuối tuần. Trừ trường hợp 1 và 7 còn lại tất cả đều là ngày thường (Lưu ý: trường hợp 1 là chủ nhật và trường hợp 7 là thứ bảy)

Những điều cần ghi nhớ

  • Từ khóa 'Is' sử dụng trong câu lệnh [case] và [case else] không bằng nhau.
  • Điều khiển ActiveX nên được sử dụng trong việc thực thi chương trình thông qua một nút lệnh nhận đầu vào và hiển thị đầu ra trong phạm vi ô của trang tính excel.
  • Thật khó để chạy các chương trình trong VBA nếu các macro bị vô hiệu hóa và luôn bật Macro để có được kết quả tốt nhất.
  • VBA phân biệt chữ hoa chữ thường và đầu vào phải được nhập chính xác để có kết quả tốt hơn.

$config[zx-auto] not found$config[zx-overlay] not found