Làm sao tạo Sub dùng chung cho tất cả các file excel?

Liên hệ QC

Tường_Vi

Thành viên tiêu biểu
Tham gia
19/4/10
Bài viết
482
Được thích
121
Nghề nghiệp
Luôn tìm kiếm một vị trí tốt hơn
Em có nhiều sub code và lưu dạng add-in
Em thử mở một file excel, vào macro name nhưng không thấy tên sub

Vậy làm cách nào để gọi một sub trong add-in cho active sheet?

Xin cám ơn
 
Lần chỉnh sửa cuối:
Bạn dùng chức năng điều chỉnh menu bar để gán macro bằng 1 biểu tượng, khi chạy thì nhấn vào nó.
 
Bạn dùng chức năng điều chỉnh menu bar để gán macro bằng 1 biểu tượng, khi chạy thì nhấn vào nó.
Đây là cách ngon lành nhất đề dùng code trong Add-Ins, nhưng có vài cái bất tiện:
- Phải học thêm kiến thức về menubar, toolbar (cũng hơi mệt)
- Bây giờ người ta đã dần dần chuyển sang Excel 2007 và Excel 2010, code về menu, toolbar viết trên Excel 2003 sẽ không hoạt động (code trên Ribbon lại... mệt hơn)
Vậy nên nếu không quan tâm đến tính chuyên nghiệp, có thể gán phím tắt để chạy code cũng là 1 cách
Ngoài ra, cũng có thể tạo menu chuột phải, gán code vào và chạy (code trên menu chuột phải hoạt động được với cả Excel 2003 và Excel 2007)
 
Lần chỉnh sửa cuối:
Tôi làm xong code change cho 1 sheets. Muốn các sheets khác cũng chạy code đó thì làm sao.
 
Tôi làm xong code change cho 1 sheets. Muốn các sheets khác cũng chạy code đó thì làm sao.

Bạn để code này trong Module thì mặc nhiên nó chạy được trên tất cả các Sheet. Trường hợp sử dụng sự kiện của Sheet để chạy code này thì trong code sheet thêm lệnh gọi tên nó.
ví dụ:
Mã:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    'Ten code trong Module
End Sub
 
Lần chỉnh sửa cuối:
Tôi làm xong code change cho 1 sheets. Muốn các sheets khác cũng chạy code đó thì làm sao.
Copy cái này bỏ vào ThisWorkBook xem coi thế nào
PHP:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
 MsgBox Target.Address
End Sub
 
Bài 7
Bạn để code này trong Module thì mặc nhiên nó chạy được trên tất cả các Sheet. Trường hợp sử dụng sự kiện của Sheet để chạy code này thì trong code sheet thêm lệnh gọi tên nó.
ví dụ:
Mã:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    'Ten code trong Module
End Sub

Như vậy, mọi Sheet phải đặt mã
Mã:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    'Ten code trong Module
End Sub

Còn của QuangHai (bài 9) thì chạy tốt, không cần làm gì thêm

Tôi chọn cách của QuangHai.
 
Chủ đề này hiện còn thảo luận ở đâu k ạ.
E cũng đang muốn tìm hiểu về việc chạy sub ở add-in
Sau khi lưu sub dạng add-in và gắn nó vào nút khi khởi động excel thì k đc
 
Web KT
Back
Top Bottom