繁体   English   中英

从电子表格在另一个工作簿中调用VBA函数

[英]Call VBA function in another workbook from spreadsheet

这是函数定义:

Public Function StockQuote(strSymbol As String) As Double 

它存储在已加载的工作表的模块中(“我的启动”文件夹中的“ My Macros.xlsm”)。

我想从另一个工作簿中调用它作为单元格引用:

Workbook1.xlsm单元格A1:

=StockQuote("AAPL")

但是我得到的都是NAME错误。

=我的Macros.xlsm!StockQuote(“ AAPL”)

='C:\\ SomeFolder \\ My Macros.xlsm'!StockQuote(“ AAPL”)

要么工作。

但是为了工作,您应该在Workbook1.xlsm之后从Workbook1.xlsm的excel窗口中打开My Macros.xlsm工作簿。

尝试将包含该功能的XLSM工作簿另存为XLAM:打开XLAM时,其他工作簿应该能够看到您的UDF。

这样的事情怎么样。

它应在工作表激活时运行,并将函数的返回值放在单元格A1中。

Private Sub Worksheet_Activate()
    Range("A1") = StockQuote("AAPL")
End Sub

如果当前工作表看不到您的功能,则可能需要以不同的方式构造它

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM