3
以下函數從彭博社獲得一份報價。
當從Sub過程調用該函數時,該函數可以工作,但不能用作工作表公式。有誰知道爲什麼?
#值錯誤,但在VBA中工作
Public Function GetRatesSTATIC() As Variant
Application.DisplayAlerts = False
Dim objBK As Workbook
Dim objRng As Range
'Open the page as a workbook.
Set objBK = Workbooks.Open("http://www.bloomberg.com/quote/EURUSD:CUR")
'Find the Rate
Set objRng = objBK.Worksheets(1).Cells.Find("EURUSD:CUR")
'Retrieve the exchange rate.
GetRatesSTATIC = objRng.Offset(1, 0).Value
objBK.Close savechanges:=False
Application.DisplayAlerts = True
End Function
它不能用作公式,因爲使用一個公式,您可以執行'= FuncTest(A1)'它運行'Cell A1'中的值提供的函數,您的函數不會收到任何它只提供的內容。 – DragonSamu
當它變成一個函數時它看起來像什麼?你有沒有把它看作宏觀的一部分? – BruceWayne
@BruceWayne您所看到的代碼僅用於VBA中的函數,或稱爲公式。 OP的問題是他沒有收到任何價值,因爲函數沒有要求它,而這對於公式函數是強制性的。 – DragonSamu