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