Muốn biết 1 công cụ, không gì bằng ta thí nghiệm:
- Tưởng tượng rằng bạn sẽ dùng sự kiện SelectionChange cho AddIn này
- Code của AddIn đương nhiên nằm trong AddIn (đúng không?)
- Vậy bằng cách nào mà code sự kiện có tác dụng trên 1 workbook hiện hành?
Giải pháp bạn đang dùng là "cố tình" add code sự kiện vào workbook hiện hành. Đây đương nhiên chỉ là giải pháp tạm thời chứ không phải hoàn hảo. Vì đặt trường hợp trong Workbook hiện hành, người ta cũng đang dùng sự kiên SelectionChange với mục đích khác thì ta tính sao? Xóa code của người ta và chèn code của mình vào? Vô lý
Và đây là lúc Class phát huy tác dụng: Nó sẽ tạo ra sự kiện gần giống với SelectionChange ---> Code nằm trong AddIn nhưng lại có tác dụng trong Worbook hiện hành
Căn bản về Class bạn có thể tham khảo ở đây:
http://www.giaiphapexcel.com/forum/showthread.php?37075-Dùng-Class-Module-để-tạo-sự-kiện-người-dùng
Ta tự mình tạo ra sự kiện dành riêng cho ý đồ của ta (không dùng bất cứ sự kiện có sẵn nào). Vậy thôi