Trong VBA, bạn có thể tạo Nút tùy chọn để cho phép người dùng chọn từ một số tùy chọn. Nút Tùy chọn thường được sử dụng trong Biểu mẫu người dùng, nhưng cũng có thể được sử dụng trong Trang tính. Trong hướng dẫn này, bạn sẽ học cách tạo nút Option, nhận lựa chọn của người dùng trong VBA và sử dụng nó trong mã.
Nếu bạn muốn tìm hiểu cách tạo Hộp kiểm, hãy nhấp vào đây: Hộp kiểm VBA
Tạo một nút tùy chọn
Để chèn một nút Tùy chọn trong Trang tính, bạn cần phải đi tới Tab nhà phát triển, nhấp chuột Chèn và trong Điều khiển ActiveX, hãy chọn Nút tùy chọn:
Hình ảnh 1. Chèn một nút Tùy chọn trong Trang tính
Khi bạn chọn nút Tùy chọn mà bạn đã chèn, bạn có thể nhấp vào Tính chất Bên dưới Tab nhà phát triển:
Hình ảnh 2. Thay đổi Thuộc tính của nút Tùy chọn
Tại đây bạn có thể đặt các thuộc tính khác nhau của nút Tùy chọn. Ngay từ đầu, chúng tôi đã thay đổi thuộc tính Tên đến optOptionButton1. Bây giờ, chúng ta có thể sử dụng nút Option với tên này trong mã VBA.
Ngoài ra, chúng tôi đã thay đổi văn bản xuất hiện bên cạnh nút Tùy chọn thành Nam giới. Để làm điều này, bạn cần đặt thuộc tính Đầu đề.
Vì chúng tôi muốn cho phép người dùng chọn giới tính, chúng tôi sẽ lặp lại toàn bộ quy trình cho một nút Tùy chọn khác. Cái thứ hai có tên optOptionButton2, trong khi chú thích là Giống cái. Bạn cũng có thể tạo nút Tùy chọn mới bằng cách sao chép nút hiện có và thay đổi thuộc tính. Bây giờ Trang tính của chúng tôi có hai nút tùy chọn:
Hình ảnh 3. Chèn nút Tùy chọn thứ hai
Nhận một nút tùy chọn đã chọn trong VBA
Mục đích của nút Tùy chọn là đưa ra quyết định của người dùng. Chúng tôi sẽ chỉ ra trong ví dụ cách viết Nam giới trong ô C3 nếu nút Tùy chọn 1 được chọn hoặc Giống cái nếu cái thứ hai được chọn. Mỗi nút Tùy chọn đều có sự kiện sẽ kích hoạt khi nó được chọn - Nhấp chuột.
Do đó, đối với nút Tùy chọn đầu tiên, chúng ta cần đặt mã sau trong trường hợp Nhấp chuột của đối tượng optOptionButon1:
123456789 | Private Sub optOptionButton1_Click ()Nếu Sheet1.optOptionButton1.Value = True thìSheet1.Range ("C3") = "Nam"Kết thúc nếuKết thúc Sub |
Tương tự, chúng tôi sẽ đặt mã này trong sự kiện Nhấp chuột của đối tượng optOptionButton2:
123456789 | Private Sub optOptionButton2_Click ()Nếu Sheet1.optOptionButton2.Value = True thìSheet1.Range ("C3") = "Nữ"Kết thúc nếuKết thúc Sub |
Giá trị của nút Option nằm trongGiá trị thuộc tính của đối tượng optOptionButton1 hoặc optOptionButton2. Giá trị của nút Option có thể đúng nếu nó được chọn hoặc sai nếu nó không được chọn.
Hình 3. Quay lại Nam nếu nút Tùy chọn đầu tiên được chọn
Như bạn có thể thấy trong Hình 3, chúng tôi đã nhấp vào nút Tùy chọn đầu tiên. Do đó, giá trị của Sheet1.optOptionButton1.Value là đúng, vì vậy kết quả ở C3 là Nam giới.
Hình 4. Quay lại Nữ nếu nút Tùy chọn thứ hai được chọn
Tương tự như ví dụ trước, giá trị của C3 được thay đổi thành Giống cái, vì chúng tôi đã chọn nút Tùy chọn thứ hai. Trong trường hợp này, thủ tục optOptionButton2_Click () được kích hoạt.
Sử dụng nút Tùy chọn trong Biểu mẫu người dùng
Như chúng tôi đã đề cập, nút Tùy chọn thường được sử dụng nhất trong Biểu mẫu người dùng. Để giải thích cách bạn có thể làm điều đó, trước tiên chúng tôi sẽ chèn một Biểu mẫu người dùng. Trong trình soạn thảo VBA, nhấp chuột phải vào Tên mô-đun, nhấp vào Chèn và lựa chọn UserForm:
Hình ảnh 5. Chèn biểu mẫu người dùng
Để hiển thị các điều khiển để chèn, bạn cần bật Hộp công cụ. Để làm điều này, hãy nhấp vàoHộp công cụ trên thanh công cụ. Sau đó, bạn sẽ nhận được các cửa sổ với tất cả các điều khiển có sẵn. Bạn có thể click vàoNút tùy chọn để tạo nó trong Biểu mẫu người dùng:
Hình ảnh 6. Chèn một nút Tùy chọn trong Biểu mẫu người dùng
Trong cửa sổ thuộc tính, chúng tôi thay đổi tên của nút Tùy chọn thành optOptionButton1 và chú thích thành Nam giới. Tương tự, chúng tôi đã tạo một nút Tùy chọn khác cho Nữ. Khi chúng tôi chạy Biểu mẫu người dùng, chúng tôi nhận được hai nút Tùy chọn:
Hình 7. Hai nút Option trong Userform
Nếu bạn muốn nhận được nút Tùy chọn đã chọn, bạn cần sử dụng logic tương tự như đối với Trang tính, được giải thích trước đó trong bài viết.