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



以下是函数定义:

Public Function StockQuote(strSymbol As String) As Double 

它存储在已加载工作表的模块中("我的宏.xlsm",在我的启动文件夹中)。

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

工作簿1.xlsm单元格A1:

=StockQuote("AAPL")

但我得到的只是名字错误。

=我的宏.xlsm!股票报价("AAPL")

='C:\SomeFolder\My Macros.xlsm'!股票报价("AAPL")

要么工作。

但为了工作,您应该在Workbook1.xlsm之后,从Workbook1.xlsm 的excel窗口打开"我的宏.xlsm"工作簿

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

这样的东西怎么样。

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

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

如果当前工作表看不到您的函数

,您可能需要以不同的方式构建它

最新更新