Tớ trả lời hộ nào...
Về cơ bản Combo Box trên Excel được phân làm 2 nhóm sau:
1. Combo box nằm trong bộ điều khiển của Excel:
Đây là bộ điều khiển viết riêng của Excel và có thể đặt trực tiếp vào các trang tính của excel. Các điều khiển này có thể làm việc trực tiếp với các đối tượng của trang tính.
Hãy tưởng tượng thế này: Trang tính excel như một form và chúng ta bổ sung các điều khiển trực tiếp vào nó như khi thiết kế form trong VBA. Chỉ có điều khác, sau khi kết thúc thiết kế, ta phải đưa Trang tính về chế độ chạy bằng cách bật công tắc trên thanh công cụ Form Control hoặc bật chế độ Protect Sheet. (Khác với Form trong VBA - ta cần bấm F5 đúng không)
Các đối tượng này nằm trên thanh công cụ Form control.
Sự kiện liên quan đến loại đối tượng này sẽ gọi trực tiếp đến một thủ tục nằm trong Module của Workbook hoặc trong module của worksheet, tuỳ theo ta gán cho nó thủ tục nào. Và lưu ý là thủ tục của các đối tượng này không giống như thủ tục sự kiện của các điều khiển.
2. Combo box trong bộ thư viện MsForm Control 2.0
Cái này chính là các điều khiển như ta nhìn thấy trên thanh công cụ khi thiết kế form trên VBA. Excel cho phép chúng ta nhúng các điều khiển này vào trang tính qua thủ tục embed.
Để đưa các đối tượng này vào sheet ta chỉ cần chọn Thanh công cụ Control Toolbox thôi.
Sau khi kéo thả một đối tượng vào Sheet, ta có thể thấy được đoạn mã sau trên thanh công thức của bảng tính.
=EMBED("Forms.ComboBox.1","")
Với các đối tượng này, chúng ta có thể viết mã sự kiện trực tiếp cho nó giống như một điều khiển thông thường của Form trong VBA. Bạn chỉ cần nhấn kép một đối tượng điều khiển này là có thể bật màn hình soạn thảo VBA thôi.
Sau khi kéo thả xong, các điều khiển này sẽ sẵn sàng để thực hiện mà không cần khoá như trong phần1.
Trên đây là một số giải thích để các bạn có thể hiểu rõ. Nếu có gì chưa rõ, các bạn cứ đặt câu hỏi nhé.
Nay kính thư.