Cách sử dụng cấu trúc chọn trường hợp trong VBA Excel 2016

0
3

Cấu trúc Chọn trường hợp là cấu trúc VBA hữu ích cho các quyết định liên quan đến ba tùy chọn trở lên trong Excel 2016 (mặc dù nó cũng hoạt động với hai tùy chọn, cung cấp giải pháp thay thế cho cấu trúc If-Then-Else).

Ví dụ chọn trường hợp

Ví dụ sau đây cho thấy cách sử dụng cấu trúc Chọn trường hợp:

Sub ShowDiscount3 ()
Số lượng chiều dài
Giảm giá gấp đôi
Số lượng = InputBox (Số lượng nhập vào: Số lượng)
Chọn số lượng trường hợp
Trường hợp 0 ​​đến 24
Giảm giá = 0,1
Trường hợp 25 đến 49
Giảm giá = 0,15
Trường hợp 50 đến 74
Giảm giá = 0,2
Trường hợp là & gt; = 75
Giảm giá = 0,25
Kết thúc chọn
MsgBox Giảm giá: Giảm giá & Giảm giá
Kết thúc phụ

Trong ví dụ này, biến Số lượng đang được đánh giá. Quy trình kiểm tra định kỳ cho bốn trường hợp khác nhau (0 Tiết24, 25 Ném49, 50 Ném74 và 75 hoặc cao hơn).

Bất kỳ số lượng câu lệnh nào cũng có thể theo từng câu lệnh Case và tất cả chúng đều được thực thi nếu trường hợp này là đúng. Nếu bạn chỉ sử dụng một câu lệnh, như trong ví dụ này, bạn có thể đặt câu lệnh trên cùng một dòng với từ khóa Case, trước một dấu hai chấm – ký tự phân tách câu lệnh VBA. Điều này làm cho mã nhỏ gọn hơn và rõ ràng hơn một chút. Đây là cách các thói quen trông trong định dạng này:

Sub ShowDiscount4 ()
Số lượng chiều dài
Giảm giá gấp đôi
Số lượng = InputBox (Số lượng nhập vào: Số lượng)
Chọn số lượng trường hợp
Trường hợp 0 ​​đến 24: Giảm giá = 0,1
Trường hợp 25 đến 49: Giảm giá = 0,15
Trường hợp 50 đến 74: Giảm giá = 0,2
Trường hợp là> = 75: Giảm giá = 0,25
Kết thúc chọn
MsgBox Giảm giá: Giảm giá & Giảm giá
Kết thúc phụ

Khi VBA thực thi cấu trúc Chọn trường hợp, cấu trúc đó sẽ thoát ngay khi VBA tìm thấy một trường hợp thực và thực hiện các câu lệnh cho trường hợp đó.

Một ví dụ Chọn trường hợp lồng nhau

Như được minh họa trong ví dụ sau, bạn có thể lồng cấu trúc Chọn trường hợp. Quy trình này kiểm tra ô hiện hoạt và hiển thị thông báo mô tả nội dung của ô. Lưu ý rằng quy trình có ba cấu trúc Chọn trường hợp và mỗi cấu trúc có câu lệnh Kết thúc chọn riêng:

Kiểm tra phụ ()
Dim Msg As String
Chọn Case IsEmpty (ActiveCell)
Trường hợp đúng
Msg = không có gì
Trường hợp khác
Chọn Case ActiveCell.HasFormula
Trường hợp đúng
Msg = có một công thức
Trường hợp khác
Chọn Case IsNumeric (ActiveCell)
Trường hợp đúng
Msg = có một số người
Trường hợp khác
Msg = có văn bản
Kết thúc chọn
Kết thúc chọn
Kết thúc chọn
MsgBox hung Cell & ActiveCell. Địa chỉ & hoành tráng & Msg Kết thúc phụ

Logic đi như thế này:

  1. Tìm hiểu xem các ô trống.
  2. Nếu nó không trống, hãy xem liệu nó có chứa một công thức.
  3. Nếu không có công thức, hãy tìm hiểu xem nó có chứa giá trị số hoặc văn bản không.

Khi thường trình kết thúc, biến Msg chứa một chuỗi mô tả nội dung của ô. Hàm MsgBox hiển thị thông báo đó.

Bạn có thể lồng các cấu trúc Chọn trường hợp sâu như bạn cần, nhưng đảm bảo rằng mỗi câu lệnh Chọn trường hợp có một câu lệnh Kết thúc chọn tương ứng.

Kiểm tra phụ ()
Dim Msg As String
Chọn Case IsEmpty (ActiveCell)
Trường hợp đúng
Msg = không có gì
Trường hợp khác
Chọn Case ActiveCell.HasFormula
Trường hợp đúng
Msg = có một công thức
Trường hợp khác
Chọn Case IsNumeric (ActiveCell)
Trường hợp đúng
Msg = có một số người
Trường hợp khác
Msg = có văn bản
Kết thúc chọn
Kết thúc chọn
Kết thúc chọn
MsgBox hung Cell & ActiveCell. Địa chỉ & hoành tráng & Msg Kết thúc phụ

Xem thêm: Cách tùy chỉnh các phím tắt Excel 2016 trong VBA

Khóa học VBA Excel tại Hà Nội

LEAVE A REPLY

Please enter your comment!
Please enter your name here