저는 Excel 2013에서 Yahoo Finance의 실시간 주식 데이터를 기록하려고합니다. 내 셀 A1에는 GoPro 주식 기호 GPRO가 있습니다.Excel 2013 레코드/새로 고침 실시간 주식 데이터
셀 B1은 숫자로 인터넷에서받은 문자열 값을 변경하려면 라이브 주가 셀 (C1)에
=NUMBERVALUE(WEBSERVICE("http://finance.yahoo.com/d/quotes.csv?s="&A1&"&f=l1"))
을 얻을 수있는 코드
=WEBSERVICE("http://finance.yahoo.com/d/quotes.csv?s="&A1&"&f=l1")
있습니다. 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 시간마다 주식 데이터를 새로 고침하고 프로그램을 자동으로 시작/중지 할 수있는 솔루션을 찾도록 도와 줄 수 있습니까?
내 질문에 답변 해 주셔서 감사합니다. 프로그램을 실행하면 반복하지 않고 한 번만 실행됩니다. – Chris
모든 것이 나에게 좋게 보인다. 동일한 코드를 테스트했지만 Sheets ("recorddata") 셀 (1, i) 행을 다른 것으로 바꾸고 1 초 간격으로 성공했습니다. 디버깅을 위해 Capture2라고하는 두 번째 서브 루틴을 만들 수도 있습니다. Capture()가 .OnTime 행에서 Capture2를 호출하고 Capture2가 OnTime() 행에서 Capture를 호출하도록하십시오. 2 번 캡쳐를하면 msgbox ("Capture2")와 같은 것을하거나, 시작을 확인하는 것을 할 수 있습니다. – JNevill