从电子表格调用另一个工作簿中的VBA函数
这里是函数定义:
Public Function StockQuote(strSymbol As String) As Double
它存储在已经加载的工作表(我的启动文件夹中的“My Macros.xlsm”)中的一个模块中。
我想从另一个工作簿中调用它作为单元格引用:
Workbook1.xlsm单元格A1:
=StockQuote("AAPL")
但是,我得到的是名称错误。
= My Macros.xlsm!StockQuote(“AAPL”)
='C:\ SomeFolder \ My Macros.xlsm'!StockQuote(“AAPL”)
工作。
但为了工作,您应该从Workbook1.xlsm的Excel窗口中打开Workbook1.xlsm后的My Macros.xlsm工作簿
尝试将包含该函数的XLSM工作簿保存为XLAM,而不是:当XLAM打开时,其他工作簿应该能够看到您的UDF。
这样的事情呢?
它应该在激活工作表时运行,并将函数的返回值放在单元格A1中。
Private Sub Worksheet_Activate() Range("A1") = StockQuote("AAPL") End Sub
如果当前工作表无法看到您的function,您可能需要以不同的方式构造它