2012年8月23日 星期四

Excel VBA抓yahoo finance各項歷史成交資訊


歷史資料工作表中加入一個名為"下載"按鈕,如上圖中粉紅色按鈕,加入以下的程式碼
Option Explicit
Private Sub 歷史成交資訊_Click()
    Dim xlStockid As String, URL As String
    xlStockid = Range("B1")
    UsedRange.Offset(4).Clear
    URL = "http://ichart.finance.yahoo.com/table.csv?s=" & xlStockid & "&a=00&b=1&c=1998&d=" & Format(Month(Date) - 1, "00") & "&e=" & Day(Date) & "&f=" & Format(Year(Date), "0000") & "&g=d&ignore=.csv"
    
    With Workbooks.Open(URL)
        .Sheets(1).UsedRange.Offset(1).Copy [a5]
        .Close 0
    End With
End Sub

想要取得上市股票的歷史成交資訊,股票代碼請輸入".TW",如台泥 1101.TW
想要取得上櫃股票的歷史成交資訊,股票代碼 請輸入".TWO",如新普 6121.TWO
以上要注意有點"."的部份

各類指數名稱
對應代碼
美元兌台幣的歷史
USDTWD=x
台灣證交所

加權指數
^TWII
不含金融股
^TIWI
金融保險類
^TFNI
大陸

深圳綜合
^SZSC
深圳成份
^SZSC1
A股指數
^SZSA
A股成份
^SZSA1
B股指數
^SZSB
B股成份
^SZSB1
綜合指數
^SSEC
A股指數
^SSEA
B股指數
^SSEB
工業指數
^SSEI
商業指數
^SSEM
地產指數
^SSEP
公用事業
^SSEU
香港證交所

恆生指數
^HSI
金融指數
^HSNF
公用事業指數
^HSNU
地產指數
^HSNP
工商指數
^HSNC
中國企業指數
^HSCE
中資企業指數
^HSCC
亞太地區

中國 上海綜合指數
000001.SS
香港 恆生指數
^HSI
日本 Nikkei 225
^N225
新加坡 海峽時報指數
^STI
南韓 漢城綜合指數
^KS11
印度 BSE 30
^BSESN
印尼 雅加達指數
^JKSE
馬來西亞 KLSE Composite
^KLSE
澳洲 All Ordinaries
^AORD
菲律賓 PSE Composite
^PSI
斯里蘭卡 All Share
^CSE
歐洲

奧地利 ATX
^ATX
法國 CAC 40
^FCHI
德國
^GDAX
英國 FTSE 100
^FTSE
非洲/中東

埃及 CMA
^CCSI
以色列 TA-100
^TA100


沒有留言:

張貼留言