AddIns Hight Light (kiểu hoa đồng nội)

Liên hệ QC

Ngoai Thanh

Cánh Diều xanh
Tham gia
14/6/12
Bài viết
823
Được thích
906
Nếu bạn sử dụng Excel 2003 thì tải tập "Sub to mau.rar ", nếu bạn sử dụng Excel 2010 thì tải tập "sub to mau1.rar" về giải nén và cho vào thư mục AddIns , rồi mở Excel vào Tools\Add-Ins và tích chọn . Nếu thấy xuất như 2 hình kèm theo thì AddIns đã được kích hoạt . Bạn vào High light\ trợ giúp để xem hướng dẫn .
 

File đính kèm

  • Sub to mau.rar
    Sub to mau.rar
    269 KB · Đọc: 61
  • Anh hightlight1.jpg
    Anh hightlight1.jpg
    314.5 KB · Đọc: 101
  • Anh hightlight2.jpg
    Anh hightlight2.jpg
    280.6 KB · Đọc: 78
  • Sub to mau.rar
    Sub to mau.rar
    259.5 KB · Đọc: 54
Lần chỉnh sửa cuối:
Nếu bạn sử dụng Excel 2003 thì tải tập "Sub to mau.rar ", nếu bạn sử dụng Excel 2010 thì tải tập "sub to mau1.rar" về giải nén và cho vào thư mục AddIns , rồi mở Excel vào Tools\Add-Ins và tích chọn . Nếu thấy xuất như 2 hình kèm theo thì AddIns đã được kích hoạt . Bạn vào High light\ trợ giúp để xem hướng dẫn .
Cho hỏi cái file này để làm gì vậy bạn? Mình chưa tải về, biết sơ về nó rồi tải cũng chưa muộn.
 
Nếu bạn sử dụng Excel 2003 thì tải tập "Sub to mau.rar ", nếu bạn sử dụng Excel 2010 thì tải tập "sub to mau1.rar" về giải nén và cho vào thư mục AddIns , rồi mở Excel vào Tools\Add-Ins và tích chọn . Nếu thấy xuất như 2 hình kèm theo thì AddIns đã được kích hoạt . Bạn vào High light\ trợ giúp để xem hướng dẫn .

Tôi xem bài bạn rồi, cái nào cũng dùng đuôi xlam cả, chả có nào dùng cho 2003 hết á!

Thiết kế cũng tinh vi và hoành tráng đó! Để cải thiện thêm, bạn có thể tham khảo tại bài này và những bài viết ở topic đó nhé!

http://www.giaiphapexcel.com/forum/...-tạo-hiệu-ứng-trong-Excel&p=527652#post527652
 
Tôi xem bài bạn rồi, cái nào cũng dùng đuôi xlam cả, chả có nào dùng cho 2003 hết á!

Thiết kế cũng tinh vi và hoành tráng đó! Để cải thiện thêm, bạn có thể tham khảo tại bài này và những bài viết ở topic đó nhé!

http://www.giaiphapexcel.com/forum/...-tạo-hiệu-ứng-trong-Excel&p=527652#post527652
Xin lỗi, vì 2 tập tin cùng tên nên mình nhầm khi nén , mình đã đổi lại .
 
Cho hỏi cái file này để làm gì vậy bạn? Mình chưa tải về, biết sơ về nó rồi tải cũng chưa muộn.
Có lẽ mình giới thiệu về AddIns này chút . nó có thể làm được như mình thử nghiệm theo File đính kèm sau . Tức nó có thể Hight light từ 1 Ô trở lên, một vùng hoặc nhiều vùng khác nhau , liên tục hoặc cách quãng , cùng màu hay nhiều màu xen kẽ ( theo hệ thống màu 1- 56 , tức là có thể hight light 56 màu khác nhau trên bảng tính ). số lượng khu vực hight light không hạn chế và diện tích vùng hight light là tùy ý . Nó hầu như không làm ảnh hưởng đến các định dạng khác ( sau khi hight light , ta có thể format các định dạng khác bình thường, như màu nền, viền khung , font chữ , backround …
Ngoài ra nó không chiếm cửa sổ của modune, nó nhẹ nhàng và muốn thay đổi hight light có thể thao tác hoàn toàn trên sheet và có thể dùng “ chổi sơn “ của Excel để sao chép, thay đổi màu cũng như hủy bỏ hight light như các trường hợp khác ( không phải chỉnh sửa, cũng như sao chép code đi nơi khác) . Và điều mình thấy nó hay là tập tin đã hight light vẫn tiếp tục thực hiện khi ta gửi đi nơi khác mặc dù AddIns không được gửi theo . ( đề tài này đã quá cũ và quá nhiều người viết về nó , nhưng mình vẫn muốn có chút là của mình, tất nhiên là có cái khác trước đó ).Nhân tiện mình xin cám ơn các thầy , các bạn , cám ơn diễn đàn đã giúp mình nâng cao kiến thức về Excel cũng như Vba và lĩnh vực khác . Mình gửi kèm file thử nghiệm để mọi người đễ hình dung
 

File đính kèm

Nếu bạn sử dụng Excel 2003 thì tải tập "Sub to mau.rar ", nếu bạn sử dụng Excel 2010 thì tải tập "sub to mau1.rar" về giải nén và cho vào thư mục AddIns , rồi mở Excel vào Tools\Add-Ins và tích chọn . Nếu thấy xuất như 2 hình kèm theo thì AddIns đã được kích hoạt . Bạn vào High light\ trợ giúp để xem hướng dẫn .
Tôi thấy trong Help bạn ghi thế này:

Capture.JPG
























Chú ý mục 4, 5 và 6:
- Tức là mọi thông số cần thay đổi ta phải ghi lên bảng tính?
- Bạn có từng nghĩ đến bảng tính của ai đó mà người ta dùng từ cell A1 trở đi không? Vậy thì họ sẽ ghi thông số vào đâu? Bắt người ta sửa lại cấu trúc dữ liệu à?
Vậy nên tôi góp ý: Những thông số như trên bạn nên ghi luôn vào ToolBar đi cho tiện
 
Tôi thấy trong Help bạn ghi thế này:


























Chú ý mục 4, 5 và 6:
- Tức là mọi thông số cần thay đổi ta phải ghi lên bảng tính?
- Bạn có từng nghĩ đến bảng tính của ai đó mà người ta dùng từ cell A1 trở đi không? Vậy thì họ sẽ ghi thông số vào đâu? Bắt người ta sửa lại cấu trúc dữ liệu à?
Vậy nên tôi góp ý: Những thông số như trên bạn nên ghi luôn vào ToolBar đi cho tiện
Nhà em cũng đã tính đến nhưng trình độ có hạn nên không đưa thông số lên toolsbar được, trước đó nhà em cũng định đưa thông số đến cột cuối, nhưng như thế người dùng lại phải tìm đến địa chỉ đó để nhập dữ liệu thì cũng phiền phức . phương án đưa thông số lên toolbar được thì tốt quá , tiện lợi cho người dùng, thày giúp nhà em nốt được không ạ ? nhà em muốn làm sao để addins sử dụng tiên lợi nhất . xin cám ơn thày !
 
Lần chỉnh sửa cuối:
Nhà em cũng đã tính đến nhưng trình độ có hạn nên không đưa thông số lên toolsbar được, trước đó nhà em cũng định đưa thông số đến cột cuối, nhưng như thế người dùng lại phải tìm đến địa chỉ đó để nhập dữ liệu thì cũng phiền phức . phương án đưa thông số lên toolbar được thì tốt quá , tiện lợi cho người dùng, thày giúp nhà em nốt được không ạ ? nhà em muốn lam sao để addins sử dụng tiên lợi nhất . xin cám ơn thày !
Đâu cần phải như vậy, bạn chỉ cần ghi Selection hoặc ActiveCell là được rồi, trong ghi chú thì bạn "dặn" người ta trước là chọn một ô hoặc một vùng rồi bấm nút thực hiện là được!
 
Đâu cần phải như vậy, bạn chỉ cần ghi Selection hoặc ActiveCell là được rồi, trong ghi chú thì bạn "dặn" người ta trước là chọn một ô hoặc một vùng rồi bấm nút thực hiện là được!
Thực ra nếu đưa thông số từ ngoài rồi gán vào bảng tính thì hoàn thiện hơn . Còn nếu là bảng tính đã có dữ liệu thì ta chỉ việc insert dòng đầu tiên và nhập mã màu định hightlight vào A1 và kich "Thực hiện", sau đó dùng "chổi sơn" chép định dạng từ A1 đến vùng định Hight light là được mà, sau đó xóa dòng 1 đi . Còn lần sau thì ta chỉ cần dùng "chổi sơn" chép từ ô bất kỳ đã Hight light, trừ trường hợp định Hight light màu khác chưa có trên bảng tính thì mới phải quay về A1để thực hiện . Nếu ta dùng sự kiện selection hoặc activecell màn hình sẽ nháy, sinh mỏi mắt bạn ạ ! về trình độ đáng ra mình phải gọi bạn là "thày" mới đúng . Nhưng còn trẻ mà "bị" gọi là thày nhiều quá, đi đứng cứ phải giữ tác phong như "nuốt phải cái gậy, cứng đơ " thì cũng phiền . Cám ơn bạn !
 
Lần chỉnh sửa cuối:
Nhà em cũng đã tính đến nhưng trình độ có hạn nên không đưa thông số lên toolsbar được, trước đó nhà em cũng định đưa thông số đến cột cuối, nhưng như thế người dùng lại phải tìm đến địa chỉ đó để nhập dữ liệu thì cũng phiền phức . phương án đưa thông số lên toolbar được thì tốt quá , tiện lợi cho người dùng, thày giúp nhà em nốt được không ạ ? nhà em muốn lam sao để addins sử dụng tiên lợi nhất . xin cám ơn thày !

Tính tôi đã không làm thì thôi, nếu làm thì sẽ.. tới nơi tới chốn luôn mới không.. bực bội.
Mà bài toán này nếu làm cho "tới bến" thì nội cái Toolbar không cũng tốn công không ít (chứ không phải là khó)
Vậy nên tôi chỉ làm giúp bạn phần ToolBar thôi, ráp vào thế nào là tùy bạn nhé
Một vài hình ảnh của ToolBar:

Capture1.JPG




















Capture2.JPG






























Code hơi nhiều, bạn nên phân ra từng module riêng biệt sẽ tiện cho việc quản lý hơn (mỗi module làm 1 công việc khác nhau)
----------------
Góp ý thêm: Code chính của bạn dùng phương pháp Add Code vào file của người khác, như vậy rất... dở (đó là quan điểm của cá nhân tôi)
 

File đính kèm

Thực ra nếu đưa thông số từ ngoài rồi gán vào bảng tính thì hoàn thiện hơn . Còn nếu là bảng tính đã có dữ liệu thì ta chỉ việc insert dòng đầu tiên và nhập mã màu định hightlight vào A1 và kich "Thực hiện", sau đó dùng "chổi sơn" chép định dạng từ A1 đến vùng định Hight light là được mà, sau đó xóa dòng 1 đi . Còn lần sau thì ta chỉ cần dùng "chổi sơn" chép từ ô bất kỳ đã Hight light, trừ trường hợp định Hight light màu khác chưa có trên bảng tính thì mới phải quay về A1để thực hiện . Nếu ta dùng sự kiện selection hoặc activecell màn hình sẽ nháy, sinh mỏi mắt bạn ạ ! về trình độ đáng ra mình phải gọi bạn là "thày" mới đúng . Nhưng còn trẻ mà "bị" gọi là thày nhiều quá, đi đứng cứ phải giữ tác phong như "nuốt phải cái gậy, cứng đơ " thì cũng phiền . Cám ơn bạn !
Ai nói với bạn là tôi dùng sự kiện Selection? Tôi nói thay vì bạn bắt người khác chọn vào ô A1 thì bây giờ bạn dùng Selection.

Nếu như bạn dùng Range("A1") thì ta dùng Selection:

Chẳng hạn, thay vì ta đặt cố định tại ô A1:

Range("A1").Interior.Pattern = xlSolid
Range("A1").Font.ColorIndex = 3

Thì ta không cần biết là ô nào, miễn sao ô đó được select:

Selection.Interior.ColorIndex = 6
Selection.Font.ColorIndex = 3

Như thế thì người dùng muốn chọn ô hay vùng nào cũng không cần phải chọn một ô xác định rồi format vào những vùng khác bạn hiểu không!
 
Tính tôi đã không làm thì thôi, nếu làm thì sẽ.. tới nơi tới chốn luôn mới không.. bực bội.
Mà bài toán này nếu làm cho "tới bến" thì nội cái Toolbar không cũng tốn công không ít (chứ không phải là khó)
Vậy nên tôi chỉ làm giúp bạn phần ToolBar thôi, ráp vào thế nào là tùy bạn nhé
Một vài hình ảnh của ToolBar:

View attachment 113870




















View attachment 113871






























Code hơi nhiều, bạn nên phân ra từng module riêng biệt sẽ tiện cho việc quản lý hơn (mỗi module làm 1 công việc khác nhau)
----------------
Góp ý thêm: Code chính của bạn dùng phương pháp Add Code vào file của người khác, như vậy rất... dở (đó là quan điểm của cá nhân tôi)
Thưa thày, với trình độ nhà em "bơi" đến đây là phải có "phao" rồi ạ . cám ơn thày đã quan tâm giúp đỡ, chủ yếu là học hỏi các thày và các bạn thôi ạ . Nhà em coi đây là bài tập cuối kỳ phải trả thôi ! còn việc dùng phương pháp Add code thì lúc đầu nhà em chỉ định làm cho riêng mình . Sau thấy có vẻ dùng được thì post lên diễn đàn, ai cần thì tải về dùng, góp chút sức mọn xây dựng diễn đàn thôi ạ . Xin cám ơn sự giúp đỡ của thày !
 
Ai nói với bạn là tôi dùng sự kiện Selection? Tôi nói thay vì bạn bắt người khác chọn vào ô A1 thì bây giờ bạn dùng Selection.

Nếu như bạn dùng Range("A1") thì ta dùng Selection:

Chẳng hạn, thay vì ta đặt cố định tại ô A1:

Range("A1").Interior.Pattern = xlSolid
Range("A1").Font.ColorIndex = 3

Thì ta không cần biết là ô nào, miễn sao ô đó được select:

Selection.Interior.ColorIndex = 6
Selection.Font.ColorIndex = 3

Như thế thì người dùng muốn chọn ô hay vùng nào cũng không cần phải chọn một ô xác định rồi format vào những vùng khác bạn hiểu không!
cám ơn bạn ! nhưng hình như không ổn , bởi A1 là nơi nhập mã màu cần hight light ( 56 màu ) mà theo phương án của bạn chỉ được một màu vàng và font chữ đỏ thôi . Trình độ mình còn có hạn, bạn thông cảm đi, không biết đâu có tội ! Trong biển kiến thức, mình mới mon men ria bờ thì không hiểu cũng là lẽ thường tình mà .
 
cám ơn bạn ! nhưng hình như không ổn , bởi A1 là nơi nhập mã màu cần hight light ( 56 màu ) mà theo phương án của bạn chỉ được một màu vàng và font chữ đỏ thôi . Trình độ mình còn có hạn, bạn thông cảm đi, không biết đâu có tội ! Trong biển kiến thức, mình mới mon men ria bờ thì không hiểu cũng là lẽ thường tình mà .
Lạy hồn, tôi nói thí dụ thôi mà!

Tôi đưa hướng cho bạn thực hiện thế thôi. Như tôi muốn vùng đó có Highlight (HL) màu vàng, chữ màu đỏ, xanh vàng tím gì đó, thì tôi cứ chọn ô nào đó rồi định dạng trước kiểu cần HL sau khi định dạng xong thì bấm nút thực hiện. Thủ tục sẽ copy kiểu định dạng đó cho vùng đó thế thôi.

Mà cái Tool của Thầy NDU đã hướng cho bạn cách để thực hiện rồi mà, cái này quá chuẩn rồi còn gì!
 
Lần chỉnh sửa cuối:
Lạy hồn, tôi nói thí dụ thôi mà!

Tôi đưa hướng cho bạn thực hiện thế thôi. Như tôi muốn vùng đó có Highlight (HL) màu vàng, chữ màu đỏ, xanh vàng tím gì đó, thì tôi cứ chọn ô nào đó rồi định dạng trước kiểu cần HL sau khi định dạng xong thì bấm nút thực hiện. Thủ tục sẽ copy kiểu định dạng đó cho vùng đó thế thôi.

Mà cái Tool của Thầy NDU đã hướng cho bạn cách để thực hiện rồi mà, cái này quá chuẩn rồi còn gì!
Tools của thày NDU mình phải xem và găm nhấm dần, thú thực mình thấy choáng, một ngày mà thày viết cả đống code mà nhiều người khi xem đâu có hiểu ngay được trong đó có mình . Mình phải tập tự lực cánh sinh nữa chứ, nếu không được sẽ kêu viện trợ không nó hư người và tạo thành thói quen ăn bám . Mỗi khi được gíup hình như mình thấy cái đầu to ra một tý . Cám ơn bạn !
 
Lần chỉnh sửa cuối:
Thưa thày, với trình độ nhà em "bơi" đến đây là phải có "phao" rồi ạ . cám ơn thày đã quan tâm giúp đỡ, chủ yếu là học hỏi các thày và các bạn thôi ạ . Nhà em coi đây là bài tập cuối kỳ phải trả thôi !

Vâng! thì cứ bơi thôi, đến đâu hay đến nấy
thú thực mình thấy choáng, một ngày mà thày viết cả đống code
Thật ra thì tôi đâu có viết hết mọi thứ. Đó là những món "đồ chơi" tôi viết từ đời nào rồi và luôn có sẵn trong máy tính. Giờ thấy cái nào xài hợp lý thì cứ lấy ra và ráp chúng vào với nhau
Nếu bạn để ý sẽ thấy code tôi chia ra từng module với từng nhiệm vụ rõ ràng:
- Một cái dùng để show hộp color
- Một cái dùng để convert object thành IPictureDisp (để đưa màu đã chọn lên toolbar)
- Một cái dùng để tạo menu
Trong từng module, các sub cũng có nhiệm vụ rõ ràng và riêng biệt. Vậy nên bạn có thể chỉnh riêng từng phần tùy ý
Tôi không dám nói cách viết của tôi là chuyên nghiệp nhưng tôi dám chắc rằng các bạn có thể lấy mấy cái code này về cất làm "đồ nghề" riêng, mai này có việc dùng đến cứ việc "moi" ra là xài thôi ----> khỏe re, khỏi phải viết lại
------------------
Nói thêm: Chủ đề Highlight này tôi cũng từng có ý xây dựng nhưng chỉ cái tội... lười (chứ viết toàn bộ cũng không có vấn đề, vì mọi thứ "đồ nghề" tôi đã có đủ)
còn việc dùng phương pháp Add code thì lúc đầu nhà em chỉ định làm cho riêng mình . Sau thấy có vẻ dùng được thì post lên diễn đàn, ai cần thì tải về dùng, góp chút sức mọn xây dựng diễn đàn thôi ạ . Xin cám ơn sự giúp đỡ của thày !
Tôi đánh giá cao sự tự lực của bạn ---> Có thể mới tiến bộ. Tuy nhiên, bài này muốn ngon lành thì phải dùng Class mới đúng (chứ không chơi chiêu Add code)
 
Lần chỉnh sửa cuối:
Vâng! thì cứ bơi thôi, đến đâu hay đến nấy

Thật ra thì tôi đâu có viết hết mọi thứ. Đó là những món "đồ chơi" tôi viết từ đời nào rồi và luôn có sẵn trong máy tính. Giờ thấy cái nào xài hợp lý thì cứ lấy ra và ráp chúng vào với nhau
Nếu bạn để ý sẽ thấy code tôi chia ra từng module với từng nhiệm vụ rõ ràng:
- Một cái dùng để show hộp color
- Một cái dùng để convert object thành IPictureDisp (để đưa màu đã chọn lên toolbar)
- Một cái dùng để tạo menu
Trong từng module, các sub cũng có nhiệm vụ rõ ràng và riêng biệt. Vậy nên bạn có thể chỉnh riêng từng phần tùy ý
Tôi không dám nói cách viết của tôi là chuyên nghiệp nhưng tôi dám chắc rằng các bạn có thể lấy mấy cái code này về cất làm "đồ nghề" riêng, mai này có việc dùng đến cứ việc "moi" ra là xài thôi ----> khỏe re, khỏi phải viết lại
------------------
Nói thêm: Chủ đề Highlight này tôi cũng từng có ý xây dựng nhưng chỉ cái tội... lười (chứ viết toàn bộ cũng không có vấn đề, vì mọi thứ "đồ nghề" tôi đã có đủ)

Tôi đánh giá cao sự tự lực của bạn ---> Có thể mới tiến bộ. Tuy nhiên, bài này muốn ngon lành thì phải dùng Class mới đúng (chứ không chơi chiêu Add code)
Cám ơn thày! thày là người viết code ngắn và cực ngắn vẫn chạy rầm rầm mà phải viết đến mấy trang code để giải quyết vấn đề toolbar làm nhà em choáng . Thú thực là nhà em xem chỗ hiểu, chỗ không, mà xem code chỗ hiểu, chỗ không, tức là chưa hiểu . về class modunle nhà em mù tịt, ngay nó dùng để làm gì ? tại sao phải dùng nó ? nó dùng thế nào ? Khi nào thì dùng nó ? rồi không dùng nó có được không ? nó khác modunle ở chỗ nào ....Riêng bên modunle nhà em đã "ngộp" rồi . Nếu có thể được, thày giúp để đàn em mở rộng kiến thức ạ ?nhiều khi biết " chỉ để ngắm ", nhưng hy vọng một ngày kia ta sẽ hiểu ! trông thấy cá về lấy cần đi câu vẫn khi vọng hơn là không trông thấy cá ạ . Xin cám ơn sự quan tâm của thày !
 
Lạy hồn, tôi nói thí dụ thôi mà!

Tôi đưa hướng cho bạn thực hiện thế thôi. Như tôi muốn vùng đó có Highlight (HL) màu vàng, chữ màu đỏ, xanh vàng tím gì đó, thì tôi cứ chọn ô nào đó rồi định dạng trước kiểu cần HL sau khi định dạng xong thì bấm nút thực hiện. Thủ tục sẽ copy kiểu định dạng đó cho vùng đó thế thôi.

Mà cái Tool của Thầy NDU đã hướng cho bạn cách để thực hiện rồi mà, cái này quá chuẩn rồi còn gì!
Cám ơn bạn ! code của thày NDU mình đã hiểu hết đâu mà ứng dụng . vả lại mang cái xe giá trị " 3 tỷ " để đi chạy taxi nghe có vẻ không hợp lý . Trên cơ sở gợi ý của bạn, mình sử lý được vấn đề dùng ô bất kỳ ( miễn là không có dữ liệu ) để làm ô hight light mẫu để chép sang vùng dữ liệu . Ngoài ra mình còn sử lý thêm cả mầu của chữ cũng thay đổi theo cho tương phản với màu hight light bằng cách thay n = [A1].value thành n = Activecell và bỏ hết A1 đến A3, bỏ luôn cà border ( chỉ dùng chức năng chép định dạng của Excel thực hiện hight Light).cuối cùng sau khi bổ xung thì code ngắn lại và chức năng phong phú hơn . Cám ơn bạn !
 
Lần chỉnh sửa cuối:
về class modunle nhà em mù tịt, ngay nó dùng để làm gì ? tại sao phải dùng nó ? nó dùng thế nào ? Khi nào thì dùng nó ? rồi không dùng nó có được không ? nó khác modunle ở chỗ nào

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
 
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
Cám ơn thày ! Như vầy là class module và module là 2 cửa đầu vào để điều khiển bảng tính ạ ? nhà em sẽ cố gắng "gặm" lấy chut "xương xẩu " này . Sau nếu vướng nhà em xin trợ giúp sau . xin cám ơn thày !
 
Lần chỉnh sửa cuối:
Web KT

Bài viết mới nhất

Back
Top Bottom