Junk
14.10.13,11:54
Prosim o pomoc.

Chcem naimportovat data z web stranky (mc24.ch USD rates), kt sa menia.... Chcel by som ich ukladat/importovat kazdych 5 min. do tabulky, tak aby tam zostali ulozene aj starsie data a potom z nich vytvorit graf.

Otazka: Ako vytvorit tabulku kde sa budu pridavat nove hodnoty, tak aby tam aj zostali (historia)?
PaloPa
15.10.13,05:49
No, tu treba použiť viacero vecí.
Popíšem tu priložené vzorové riešenie (pre XL 2003, pre verzie vyššie analogicky):

1| Zadefinovať si web query: (Data / Import External Data / New Web Query...)
Použil som zdroj: "http://finance.yahoo.com/q?s=EURUSD=X"

TIP: Query je dobré si nejako jednoducho pomenovať, dá sa využiť v kóde, ja som dal meno "yahoo_fin"
!!!: Vo vlastnostiach Query zrušiť všetky automatické updaty

2| Spustiť OnTime funkciu - treba 1x spustiť pri štarte zošita (VBA nad ThisWorkBook):


Private Sub Workbook_Open()
Call RunOnTime
End Sub


3| V OnTime funkcii zabezpečiť posúvanie času, kedy sa spustí vykonávanie web update - dTime = Now + TimeSerial(0, 0, 10)
(v príklade je každých 10 sekúnd):


Public Sub RunOnTime()
dTime = Now + TimeSerial(0, 0, 10)
Application.OnTime dTime, "RunOnTime"

lNum = lNum + 1
If lNum = 100 Then
Run "CancelOnTime"
Else
Call CopyData
End If
End Sub

4| Funkciu na update dát z webu a ich skopírovanie na koniec predošlých dát - v jednom liste je webupdate, do druhého sa kopíruje:
TIP: Fn pre WebUpdate vytvoriť ako samost. funkciu, aby sa najskôr dokončil update a potom sa dáta skopírovali.