上回我們在 利用Yahoo Finance下載台股的歷史股價並用EXCEL製作股票K線圖1/2的這篇文章裡進行了 Yahoo Finance 在EXCEL上的延伸應用,最後也提到在每次開啟EXCEL自動更新來源資料時,日期排序會變成由古至今排列的問題,至於要怎麼解決呢?無法解決就用程式來解決囉~~
解決的方法是利用程式在開啟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檔,就可以得到最新的股票歷史資料與圖表分析了,但除了呈現股票K線圖外,還能有什樣的分析應用呢?大家都很聰明,應該都想到了吧,記得告訴我啊~~~
請問,抓下來的資料會有成交量是0的資料
後續有方法可以自動將成交量是0資料去除掉嗎?
謝謝
[回應]
請問如何設定用DDE 股價上下限到價提醒
[回應]
YAHOO Finance的股價好像跟正確的股價不一樣耶…
如台積電(2330)
2001年1月的月收盤價
Yahoo Fianance上是63.03元 (還權為27.73)
正確股價是105.5元 (還權為31.62)
不知道這是為什麼??
[回應]
版主,
請問如何執行我們的自訂的程序?
[回應]
1.想請問使用此法可賺到錢嗎?
2.動態圖表如何製作
3.我願花錢學習 07-3648873
[回應]
版大您好
最近正嘗試以excel建立個人化的分析工具
感謝版大這篇分享
受益良多
有幾過問題請教版大
1.從yahoo finance 所下載的 history data似乎未updata至最近日
ex:2009/05/04
譬如 我嘗試下載鴻海(2317)
data內容只包含2000/1月~2006/11月
請問如何下載到完整的data? 有其他的來源嗎?
2.若製作多頁時(ex: sheet-1 2002中鋼 ; sheet-2 2317鴻海…..)
應如何修正您所提供的程式碼?
打擾您了
謝謝
[回應]
LuSoft 於6 5 月, 2009 at 8:20 下午 回覆.
1.他的股價時間不是runtime的,是會有一些delay
2.可能有時間上的限制,或者你可以試看看Google finance
3.這個可能你得自己研究看看囉~
[回應]
請問版主:
EXCEL縮放有限制,最大只能放大到400%
資料一多,這樣的K線圖會看不清楚
有沒有其他方法(如捲軸或是巨集)
將K線圖橫移或是局部放大???
[回應]
請問
我要在 “利用Yahoo Finance下載台股的歷史股價並用EXCEL製作股票K線圖” 的結果圖上, 加上註明, 那些日期是我的買點或賣點, 應該如何做??
[回應]