这是功能定义:
Public Function StockQuote(strSymbol As String) As Double
它存储在已加载的工作表(" My Macros.xlsm",在我的Startup文件夹中)的模块中。
我想从另一个工作簿中调用它,作为单元格引用:
Workbook1.xlsm单元格A1:
=StockQuote("AAPL")
但我得到的只是NAME错误。
答案 0 :(得分:5)
=我的Macros.xlsm!StockQuote(" AAPL")
=' C:\ SomeFolder \ My Macros.xlsm'!StockQuote(" AAPL")
工作。
但是为了工作,你可以在Workbook1.xlsm之后,从Workbook1.xlsm的excel窗口打开My Macros.xlsm工作簿
答案 1 :(得分:1)
尝试将包含该函数的XLSM工作簿保存为XLAM:当XLAM打开时,其他工作簿应该能够看到您的UDF。
答案 2 :(得分:0)
这样的事情怎么样。
它应该在激活工作表时运行,并将函数的返回值放在单元格A1中。
Private Sub Worksheet_Activate()
Range("A1") = StockQuote("AAPL")
End Sub
如果当前工作表无法看到您的功能,您可能需要以不同的方式构建它