簡體   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