從Yahoo!Finance取得外部資料
在範例中並沒有使用即時的資訊源, 所以需要多這個步驟. 如果有看盤軟體可以用DDE連線就可以省去這個步驟.
- 選擇取得外部資料, 出現選擇網頁的視窗
- 輸入 Yahoo!Finance 網址 http://tw.finance.yahoo.com/
- 選擇想要匯入的資料, 在此我們選擇台灣加權指數
- 將資料匯入到Excel, 並將工作表更名為 Yahoo!Finance
- 修改查詢屬性, 在資料上按右鍵, 選擇 資料範圍內容. 將更新頻率更改為1分鐘一次. 虛擬的即時資料就算完成了.
- 將空白工作表更名為Monitor, 輸入要監控的資料, 包含代碼, 時間, 以及即時價格. 時間使用 NOW() 函數, 即時價格連結到 Yahoo!Finance 的價格資料, 如果有即時資訊源的話輸入DDE公式.
- 在 History 輸入標題名稱即可.
- 打開 Visual Basic 編輯器, 在左方的 VBA 專案選擇 Sheet3(Yahoo!Finance) 按右鍵後 檢視程式碼.
- 選擇 Worksheet/Change 事件, 輸入程式碼就完成了
資料匯入到Excel
建立 Monitor 和 History 工作表
History 工作表
- 程式碼是由錄製的巨集修改而來的, 你可以自行錄製巨集並找出其中的差異嗎?
- 範例中並不會檢查資料數量, 但 Excel 工作表的資料量是有限的. 可以限制資料數量成長嗎? 或是在實務上如何處理?
- 當你要儲存超過一個商品的價格時該如何處理?
- 如果資料更新速度很快, 用 複製/插入 的方式處理來得及嗎? 有沒有其他更好的方法?