Làm thế nào để 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à một 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ột 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 tiêu chí là 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ỉ 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 tạo 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 Trường hợp Chọn. Cần tuân theo cú pháp sau để 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 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 xem có bất kỳ câu lệnh phù hợp nào không
  • 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 cách 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 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ần thực hiện các tác vụ sau.

  • Trước hết, nó cần tạo macro bằng cách đặt nút điều khiển 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ã chế độ xem.
  • Đặt mã giữa chức năng nút lệnh và phụ cuối.
  • 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

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 chọn lọc!" 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 'Tới' 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ư thể hiện 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 'Là' 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 'is' giúp tìm các giá trị phù hợp chỉ với các câu lệnh viết hoa. Nó so sánh biểu thức kiểm tra với đầu vào nhất định để tạo ra đầu ra.

Kết quả thu được như trong hình nếu giá trị 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 đỏ", "Màu xanh lá cây", "Màu vàng" Phạm vi ("B1"). Giá trị = 1 Trường hợp "Màu trắng", "Màu đ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 cá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ư được hiển thị trong ảnh chụp màn hình và kết quả đầu ra được hiển thị như sau khi nhập ngay cả số.

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 như thế nào.

Mã:

Sub TestWeekday() Select Case Weekday(Now) Case 1, 7 Select Case Weekday(Now) Case 1 MsgBox "Today is Sunday" Case Else MsgBox "Today is Saturday" End Select Case Else MsgBox "Today is a Weekday" End Select End Sub

Here the select case is defined inside another select case to test a day, weekday, or weekend. Except for case 1 and 7 remaining all are weekdays (Note: case 1 is Sunday and case 7 is Saturday)

Things to Remember

  • The ‘Is’ keyword using in the statement of (case) and (case else) are not equal.
  • ActiveX control should be used in executing program through a command button taking input and displaying output in the excel sheet range of cells.
  • It is hard to run the programs in VBA if macros are disabled and always enable Macros to get the best results.
  • 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.

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