[Hỏi] Chạy Workbook_BeforePrint từ file addons (.xlam)

Liên hệ QC

Forever1Love

Thành viên mới
Tham gia
6/5/10
Bài viết
6
Được thích
0
em chào cả nhà.
chẳng là em đang làm 1 file addon tách riêng với những file dữ liệu.
1. em có dùng hàm Workbook_BeforePrint để kiểm tra công thức và kết quả trước khi in. hiện tại nếu đặt Workbook_BeforePrint ngay tại file dữ liệu thì chạy ngon lành. giờ em chuyển Workbook_BeforePrint sang để ở file addons thì nó lại không chạy. cả nhà giúp em cho nó chạy được ở file addons được không (khi chạy được ở addons em sẽ kiểm tra điều kiện để cho nó chạy với 1 số file nhất định mà em muốn kiếm tra)?
2. cũng tại file addons (.xlam) em đã tạo 1 formuser để đưa ra thông báo và kiểm tra xem người dùng chọn nút (button) nào để làm những bước tiếp theo. nhg hiện tại em chưa làm được đoạn code để kiểm tra người dùng chọn nút (button) nào, mn có thể giúp em được không ạ?
em cảm ơn!
 
Không có tập tin mà chỉ có chút nước bọt nên tôi cũng cho ít nước bọt

chẳng là em đang làm 1 file addon tách riêng với những file dữ liệu.
1. em có dùng hàm Workbook_BeforePrint để kiểm tra công thức và kết quả trước khi in. hiện tại nếu đặt Workbook_BeforePrint ngay tại file dữ liệu thì chạy ngon lành. giờ em chuyển Workbook_BeforePrint sang để ở file addons thì nó lại không chạy. cả nhà giúp em cho nó chạy được ở file addons được không (khi chạy được ở addons em sẽ kiểm tra điều kiện để cho nó chạy với 1 số file nhất định mà em muốn kiếm tra)?
Trước đó phục vụ sự kiện BeforePrint của Workbook cụ thể, chỉ có tham số Cancel để có thể "bập bập". Bây giờ muốn theo dõi sự kiện BeforePrint trong mỗi Workbook được mở thì phải phục vụ sự kiện WorkbookBeforePrint của đối tượng Application. Ngoài Cancel lúc này có thêm tham số Wb As Workbook để "người phục vụ sự kiện" biết sự kiện đã sảy ra trong workbook nào. Cần gì thì viết code trong
Private Sub <tên đối tượng Application>_WorkbookBeforePrint(ByVal Wb As Workbook, Cancel As Boolean)

Wb đại diện cho workbook mà có sảy ra sự kiện BeforePrint.

Phải thêm một Class để phục vụ sự kiện trên hoặc các sự kiện khác nếu muốn, rồi chèn các code cần thiết.

2. cũng tại file addons (.xlam) em đã tạo 1 formuser để đưa ra thông báo và kiểm tra xem người dùng chọn nút (button) nào để làm những bước tiếp theo. nhg hiện tại em chưa làm được đoạn code để kiểm tra người dùng chọn nút (button) nào, mn có thể giúp em được không ạ?

UserForm hay vd. MsgBox? Không phải ai cũng thích chơi trò "đoán ý đồng đội".
 
Upvote 0
tks bác, ý 1 thì em hiểu rồi, để em thửu làm xem.
còn ý 2 là em muốn tạo 1 userform, tỉ dụ đưa ra thông báo:
Dữ liệu không đúng, bạn muốn cập nhật lại theo :
1. theo tên Sheets
2. theo tên dữ liệu
3. hoặc nhập vào theo dữ liệu mới
trc em cũng mò mẫm rồi nhg nó đang chưa lấy đc giá trị của userform trả về. chắc vẫn thiếu 1 số dòng lệnh nào đó mà em chưa mò đc ra.
 

File đính kèm

  • z3017259404263_6a9a6f5ab2df1bec69b678c3ee057eae.jpg
    z3017259404263_6a9a6f5ab2df1bec69b678c3ee057eae.jpg
    198.3 KB · Đọc: 13
Upvote 0
tks bác, ý 1 thì em hiểu rồi, để em thửu làm xem.
còn ý 2 là em muốn tạo 1 userform, tỉ dụ đưa ra thông báo:
Dữ liệu không đúng, bạn muốn cập nhật lại theo :
1. theo tên Sheets
2. theo tên dữ liệu
3. hoặc nhập vào theo dữ liệu mới
trc em cũng mò mẫm rồi nhg nó đang chưa lấy đc giá trị của userform trả về. chắc vẫn thiếu 1 số dòng lệnh nào đó mà em chưa mò đc ra.
Muốn lấy giá trị trả về của form, thường người ta dùng biến chung (biến toàn cục - global variable / dùng từ khóa public khi khai báo ở module)
Hoặc cách khác là thay vì unload file, sử dụng Hide rồi lấy giá trị cần lấy từ userform sau đó thì mới unload
 
Upvote 0
Web KT

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

Back
Top Bottom