Sử dụng hàm tự tạo của .xla file trong VBA code của một file khác

Liên hệ QC

jubinell

Thành viên mới
Tham gia
27/11/09
Bài viết
37
Được thích
16
Nghề nghiệp
Tư vấn kinh doanh/kinh tế, nhạc sỹ, game thủ (keke
Chào các bạn,

Mình có một hàm tự tạo được sử dụng thường xuyên. Để cho tiện, mình đã tạo một file .xla mới chứa hàm này, rồi load nó vào thư viện add-in của Excel để có thể sử dụng ở bất cứ sheet nào của file excel nào mà không cần mở file gốc. OK mọi việc đều tốt đẹp.

Tuy vậy, UDF này chỉ sử dụng được trong sheet, còn nếu vào cửa sổ VBA của một project nào đó rồi thử dùng UDF thì Excel sẽ báo là không nhận dạng được hàm.

Làm sao để hàm tự tạo của mình có thể sử dụng được trong bất cứ file nào, trong sheet cũng như trong VBA code?
 
Chào các bạn,

Mình có một hàm tự tạo được sử dụng thường xuyên. Để cho tiện, mình đã tạo một file .xla mới chứa hàm này, rồi load nó vào thư viện add-in của Excel để có thể sử dụng ở bất cứ sheet nào của file excel nào mà không cần mở file gốc. OK mọi việc đều tốt đẹp.

Tuy vậy, UDF này chỉ sử dụng được trong sheet, còn nếu vào cửa sổ VBA của một project nào đó rồi thử dùng UDF thì Excel sẽ báo là không nhận dạng được hàm.

Làm sao để hàm tự tạo của mình có thể sử dụng được trong bất cứ file nào, trong sheet cũng như trong VBA code?
Bạn đặt code ở đâu? Khai báo Public hay Private?
Đưa file lên xem thử tí
----------------------
Ngoài ra, tham khảo thử trang này:
http://www.fontstuff.com/vba/vbatut08.htm
đã có người hỏi câu tương tự tại đây:
http://www.giaiphapexcel.com/forum/showthread.php?t=30208
 
Lần chỉnh sửa cuối:
Upvote 0
Bạn tham khảo bài này xem có thể có thông tin hữu ích cho bạn.
 
Upvote 0
Chào bạn,


Cám ơn bạn đã giúp đỡ. Mình đã giải quyết xong vấn đề rồi. Vào Tools - Reference rồi đánh x vào cạnh tên của file .xla của mình trong danh sách, nhấn OK là có thể gọi hàm như bình thường.

Hàm của mình để trong Module 1 của file .xla. Mình không ghi rõ Public hay Private (hình như default của VBA là Public)
 
Upvote 0
Mình thấy chưa ổn đâu. Trong bất kỳ sheet nào mở trong máy của bạn áp dung hàm của file.XLA thì OK nhưng trong VBA thì chưa chắc, bạn test lại mà xem.
 
Upvote 0
Chào bạn Sealand,

Mình thử lại thấy OK mà bạn. Hàm được lưu trong file .xla, mình vào Tools - References (của VBA, không phải của Excel) bật .xla lên rồi sử dụng như bình thường.
 
Upvote 0
Chào bạn Sealand,

Mình thử lại thấy OK mà bạn. Hàm được lưu trong file .xla, mình vào Tools - References (của VBA, không phải của Excel) bật .xla lên rồi sử dụng như bình thường.
Không phải lúc nào cũng thành công đâu!
Bạn xem bài của bạn nguyenthuan đi
http://www.giaiphapexcel.com/forum/showthread.php?t=30208
Thử làm theo cách của bạn xem có được không nha!
 
Upvote 0
Không phải lúc nào cũng thành công đâu!
Bạn xem bài của bạn nguyenthuan đi
http://www.giaiphapexcel.com/forum/showthread.php?t=30208
Thử làm theo cách của bạn xem có được không nha!

Có phải bạn muốn nói đến giải pháp này?
http://www.fontstuff.com/vba/vbatut08.htm

Giải pháp đó theo mình đọc thì có 2 bước: 1 là đổi tên cho VBA project của xla, 2 là bật tham chiếu tới xla lên trong tools - references của VBA.

Bước 2 là bước mình đã giải thích ở trên. Còn bước 1 thì ... khỏi cần vì mình đã đổi tên vba project của xla của mình ngay từ lúc tự tạo rồi (thói quen). %#^#$
 
Upvote 0
Có phải bạn muốn nói đến giải pháp này?
http://www.fontstuff.com/vba/vbatut08.htm

Giải pháp đó theo mình đọc thì có 2 bước: 1 là đổi tên cho VBA project của xla, 2 là bật tham chiếu tới xla lên trong tools - references của VBA.

Bước 2 là bước mình đã giải thích ở trên. Còn bước 1 thì ... khỏi cần vì mình đã đổi tên vba project của xla của mình ngay từ lúc tự tạo rồi (thói quen). %#^#$
Ý tôi muốn nói đến file trong bài này nè:
http://www.giaiphapexcel.com/forum/showpost.php?p=202379&postcount=6
Bạn tải file ấy về rồi làm như cách của bạn xem có dùng được hàm M_Mult_C trong VBA không?
 
Upvote 0
Web KT

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

Back
Top Bottom