我有一本工作手册来评估我的投资组合。它包括从Excel的股票数据类型不可用的某些网站中抓取数据的UDF。UDF需要时间进行计算。
我希望UDF在我按F9键时运行,而不是在我打开工作簿时运行。
是否有类似于“如果运行是加载工作簿的一部分,则执行此操作”的内容?
我有Calculation=Automatic和Application.Volatile(False)。
其中一个UDF:
Function GetLSEPrice(ticker As String) As Double
Application.Volatile (False)
Dim driver As New ChromeDriver
Dim url As String
Dim y As Selenium.WebElement
url = "https://www.londonstockexchange.com/stock/" & _
ticker & _
"/united-kingdom/company-page"
driver.AddArgument "--headless"
driver.Get url
Set y = driver.FindElementByClass("price-tag")
GetLSEPrice = CDbl(y.Text)
End Function
1条答案
按热度按时间tgabmvqs1#
下面应该做到;
步骤1)-在工作簿中创建新属性-计算调用各种UDF的次数
步骤2)-在UDF中添加代码以测试该计数器
我在SheetSelectionChange事件中添加了代码(只是为了帮助触发UDF)
如下;
这是我测试过的UDF
以下内容可能有助于说明代码的去向