我在Excel 2013中工作,试图记录雅虎财务的实时股票数据。在我的单元格A1中,我有GoPro股票代码GPRO。
单元格B1有以下代码
=WEBSERVICE("http://finance.yahoo.com/d/quotes.csv?s="&A1&"&f=l1")获取实时股票价格和单元C1
=NUMBERVALUE(WEBSERVICE("http://finance.yahoo.com/d/quotes.csv?s="&A1&"&f=l1"))若要将从internet获取的字符串值更改为数字,请执行以下操作。我在VBA中有一个宏,即
Sub Capture()
If I = 0 Then I = 1
Sheets("recorddata").Cells(1, I) = Sheets("getdata").Range("C1")
I = I + 1
Application.OnTime Now + TimeValue("00:00:15"), "Capture"
End Sub每15秒记录一次实时股票价格。由于某些原因,程序将运行一次,并将股票价格复制到下一个电子表格中,但它不会刷新股票数据或每15秒重新运行应用程序。谁能帮我找到一种解决方案,每隔x次刷新股票数据,并让程序自动启动/停止本身。
发布于 2014-09-30 19:59:18
有两件事:
i声明为一个公共(全局)变量,以便在迭代之间保存它的值。Application.Calculate,以确保=WebService()函数在获取值之前调用雅虎。代码:
Public i As Integer
Sub Capture()
If i = 0 Then i = 1
Application.Calculate
Sheets("recorddata").Cells(1, i) = Sheets("getdata").Range("C1")
i = i + 1
Application.OnTime Now + TimeValue("00:00:15"), "Capture"
End Subhttps://stackoverflow.com/questions/26128829
复制相似问题