解決的方法是利用程式在開啟EXCEL檔並執行完自動更新後,再自動執行我們寫好的巨集程式,做法如下:
首先開啟Visual Basic 編輯器~
建立一個程序~程式碼如下(可以利用錄製巨集的方式來建立)
Sub OrderByDate()
Columns("A:A").Select
Range("A1:G1499").Sort Key1:=Range("A1"), Order1:=xlAscending, Header:= _
xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
SortMethod:=xlStroke, DataOption1:=xlSortNormal
End Sub
在Sheet1工作表中(我們股價資料存放的工作表)建立一個事件,這裡我是用工作表的Change事件,至於為什麼要用這個事件,因為在自動更新完成後會造成EXCEL工作表資料的變動,所以在這個事件下來呼叫上面我們建立的程序,程式碼如下:
Private Sub Worksheet_Change(ByVal Target As Range)
Call OrderByDate
End Sub
到這裡程式便完成了,你可以試著將EXCEL存檔並重新開啟試試,如此一來,每當我們開啟工作表,並完成自動更新資料來源後,再執行我們的自訂的程序,股價日期便會依從古至今排序,圖表也會跟著更新,這樣才是符合我們的需求~
總結:
我們只要利用 Yahoo Finance 下載某一隻股票的歷史股價資料檔(csv),然後把舊的覆蓋掉,開啟我們做好的Excel檔,就可以得到最新的股票歷史資料與圖表分析了
沒有留言:
張貼留言