Sử dụng hàm userdefine như là worksheetfunction

Liên hệ QC

nguyenthuan

Thành viên mới
Tham gia
12/12/06
Bài viết
28
Được thích
4
Nghề nghiệp
Đi học lóm
Các hàm trong addins được sử dụng trong bảng tính thì giống như một hàm bình thường trong excel, nhưng để sử dụng hàm đó trong VBE giống như là worksheetfunction thì mình chưa làm được. Các tiền bối giúp mình một ví dụ nho nhỏ về việc áp dụng những hàm này với?
Với addins mã nguồn mỡ thì mình chép function đó vào mã nguồn của mình để làm, những có addins không xem được mã nguồn thì mình chưa làm được.Chân thành cảm ơn!
+-+-+-++-+-+-++-+-+-+
 
Các hàm trong addins được sử dụng trong bảng tính thì giống như một hàm bình thường trong excel, nhưng để sử dụng hàm đó trong VBE giống như là worksheetfunction thì mình chưa làm được. Các tiền bối giúp mình một ví dụ nho nhỏ về việc áp dụng những hàm này với?
Với addins mã nguồn mỡ thì mình chép function đó vào mã nguồn của mình để làm, những có addins không xem được mã nguồn thì mình chưa làm được.Chân thành cảm ơn!
+-+-+-++-+-+-++-+-+-+
Bạn nên đưa file cụ thể lên thì mới biết nên làm thế nào!
1 vài Worksheet Function không có tác dụng trong Visual Basic, trường hợp này tôi thường dùng Evaluate
Ví dụ: Hàm CONCATENATE không tác dụng trong VBA, vậy nếu muốn thì tôi dùng như sau:
PHP:
Sub Test()
  MsgBox Evaluate("CONCATENATE(A1,B1)")
End Sub
Đại khái thế (và còn nhiều cách khác nữa)
 
Bạn nên đưa file cụ thể lên thì mới biết nên làm thế nào!
1 vài Worksheet Function không có tác dụng trong Visual Basic, trường hợp này tôi thường dùng Evaluate
Ví dụ: Hàm CONCATENATE không tác dụng trong VBA, vậy nếu muốn thì tôi dùng như sau:
PHP:
Sub Test()
  MsgBox Evaluate("CONCATENATE(A1,B1)")
End Sub
Đại khái thế (và còn nhiều cách khác nữa)
http://www.giaiphapexcel.com/forum/showthread.php?t=160&page=2
đây là phần mình đã hỏi một cách cặn kẽ ,file matran18 cũng có san tren do.Bạn giúp mình nha.Cảm ơn!
 
Ví dụ về việc tạo addins và sử dụng như sau:
Trong book1 tao code sau trong module:
function tong(A,B)
tong=A+B
end function
Sau đó tạo book1 thành addin book1.xla
Mở workbook khác, vào tool/addin/đường dẫn tới addin book1.xla
Khi đó addin được nạp vào và mình có thể sử dụng hàm tong(A,B) bình thường trong bảng tính. Nhưng trong VBE thì để sử dụng hàm tong(A,B) thì mình chưa biết làm thế nào.Bạn chỉ mình sử dụng hàm tong(A,B) trogn VBE.Cảm ơn trước nha!
 
Ví dụ về việc tạo addins và sử dụng như sau:
Trong book1 tao code sau trong module:
function tong(A,B)
tong=A+B
end function
Sau đó tạo book1 thành addin book1.xla
Mở workbook khác, vào tool/addin/đường dẫn tới addin book1.xla
Khi đó addin được nạp vào và mình có thể sử dụng hàm tong(A,B) bình thường trong bảng tính. Nhưng trong VBE thì để sử dụng hàm tong(A,B) thì mình chưa biết làm thế nào.Bạn chỉ mình sử dụng hàm tong(A,B) trogn VBE.Cảm ơn trước nha!
Bạn xem chi tiết tại đây:
http://www.fontstuff.com/vba/vbatut08.htm
Có cả hình minh họa
Tôi vừa thử thành công!
(Câu hỏi hay, trước giờ chưa từng để ý đến)
 
Bạn xem chi tiết tại đây:
http://www.fontstuff.com/vba/vbatut08.htm
Có cả hình minh họa
Tôi vừa thử thành công!
(Câu hỏi hay, trước giờ chưa từng để ý đến)

Rất hay vì bạn đã hiểu ý mình và câu trả lời cũng rất chuẩn.
Bạn thử hàm M_Mult_C được không.Mình đã làm như câu trả lời của bạn trước đây rồi nhưng không thể dùng hàm này nhưng những hàm khác trong đối tượng khác thì ok.Chỉ có những hàm trong đối tượng matrix thì ẩn mất luôn ( trong Object browse không thấy hiện ra). Cứ như người dùng khóa không cho sử dụng những hàm này, chỉ cho sử dụng những hàm khác. Bạn cho ý kiến nha!
 

File đính kèm

  • Book1.xls
    20.5 KB · Đọc: 38
http://www.giaiphapexcel.com/forum/showthread.php?t=160&page=2
quên chứ trong link đó có addins matrix18.rar và câu hỏi của mình vẫn còn dỡ chưa bạn nào trả lời giúp. Bạn tải addins đó và làm thử xem.Nó đã giấu một số hàm không cho sử dụng đúng không? Và nếu như vậy bạn có cách gì sử dụng ngoài copy code của nó không.Lại một hướng nữa của vấn đề này chăng!!!!!!!!!!!!!!!!!!!!!!!!!+-+-+-++-+-+-++-+-+-+
 
Rất hay vì bạn đã hiểu ý mình và câu trả lời cũng rất chuẩn.
Bạn thử hàm M_Mult_C được không.Mình đã làm như câu trả lời của bạn trước đây rồi nhưng không thể dùng hàm này nhưng những hàm khác trong đối tượng khác thì ok.Chỉ có những hàm trong đối tượng matrix thì ẩn mất luôn ( trong Object browse không thấy hiện ra). Cứ như người dùng khóa không cho sử dụng những hàm này, chỉ cho sử dụng những hàm khác. Bạn cho ý kiến nha!
Trong Object browse tôi thấy có hàm M_MULT_C này đấy:

attachment.php



Có điều chả biết sử dụng nó thế nào nữa (dùng theo cách mà các trang web hướng dẩn lại không ăn thua)
Ai có kinh nghiệm việc này xin vui lòng chỉ giáo giúp (thử đủ cách mà không thành công)
 

File đính kèm

  • untitled.JPG
    untitled.JPG
    58.2 KB · Đọc: 310
Hàm đó chỉ hiện ra khi trong cửa sổ project chuột đang activate tại VBAmatrix (addin mong muốn được sử dụng) thôi,nhưng khi mình làm việc thì chuột lại activate tại project của mình (VBAproject book1) khi đó thì trong object browse không hiện ra đâu.Điều đó cũng có nghĩa là không tham chiếu đến nó được. Không lẽ lại potay sao ? Các cao thủ vui lòng chỉ giáo giúp!
 
Vậy dùng thử code này xem sao!?!
Mã:
Application.Run("matrix.xla!M_MULT_C", [A1:C3], [A2:C3])
Thân.
 
Web KT
Back
Top Bottom