返回列表 上一主題 發帖

[分享] 大盤每月每天歷史成交量與金額下載

本帖最後由 GBKEE 於 2012-6-24 08:41 編輯

回復 2# white5168
要分享記得專案請不要不上鎖
SHEET1的程式碼
  1. Private Sub 大盤成交資訊_Click()
  2.     Dim xlTheYear As String, xlTheMonth As String, xlTheFile As String
  3.     xlTheYear = Format(Range("C1"), "0000")  '修改字串格式
  4.     xlTheMonth = Format(Range("C2"), "00")     '修改字串格式
  5.     UsedRange.Offset(4).Clear
  6.     xlTheFile = "http://www.twse.com.tw/ch/trading/exchange/FMTQIK/FMTQIK2.php?STK_NO=&myear=" & xlTheYear & "&mmon=" & xlTheMonth & "&type=csv"
  7.     With Workbooks.Open(xlTheFile)
  8.         .Sheets(1).UsedRange.Offset(2).Copy [a5]
  9.         .Close 0
  10.     End With
  11. End Sub
複製代碼

TOP

回復 4# white5168
試試看

    大盤每月每天歷史..rar (7.64 KB)

TOP

回復 7# usana642
1.複製程式碼到 一般模駔,或 ThisWorkbook模駔    2.在工作表上 插入快取圖案,   3.將圖案的巨集指定此程序
於工作表 的 C1 :  輸入西元年份   C2 :  輸入月份    按下 快取圖案 就可以
  1. Sub 大盤成交資訊()
  2.     Dim xlTheYear As String, xlTheMonth As String, xlTheFile As String
  3.     xlTheYear = Format(Range("C1"), "0000")  '修改字串格式
  4.     xlTheMonth = Format(Range("C2"), "00")     '修改字串格式
  5.     UsedRange.Offset(4).Clear
  6.     xlTheFile = "http://www.twse.com.tw/ch/trading/exchange/FMTQIK/FMTQIK2.php?STK_NO=&myear=" & xlTheYear & "&mmon=" & xlTheMonth & "&type=csv"
  7.     With Workbooks.Open(xlTheFile)
  8.         .Sheets(1).UsedRange.Offset(2).Copy [a5]
  9.         .Close 0
  10.     End With
  11. End Sub
複製代碼
EX1.GIF
2012-6-25 20:32

TOP

回復 9# turbine
  1. Option Explicit
  2. Private Sub 大盤成交資訊()
  3.     Dim xlTheYear As String, xlTheMonth As String, xlTheFile As String
  4.     Dim Sh As Worksheet
  5.     xlTheYear = Format(Range("C1"), "0000")  '修改字串格式
  6.     xlTheMonth = Format(Range("C2"), "00")   '修改字串格式
  7.     Set Sh = ThisWorkbook.Sheets.Add         '新增工作表
  8.     Sh.Name = xlTheYear & "_" & xlTheMonth   '新增工作表命名
  9.     xlTheFile = "http://www.twse.com.tw/ch/trading/exchange/FMTQIK/FMTQIK2.php?STK_NO=&myear=" & xlTheYear & "&mmon=" & xlTheMonth & "&type=csv"
  10.     With Workbooks.Open(xlTheFile)
  11.         .Sheets(1).UsedRange.Copy Sh.[a1]
  12.         .Close 0
  13.     End With
  14.     Sh.Cells.EntireColumn.AutoFit            '調整欄寬
  15.     Sh.Columns("A:A").ColumnWidth = 28.56
  16. End Sub
複製代碼

TOP

回復 12# usana642
作用中的工作表  C1 有輸入 年度嗎? C2 有輸入 月份嗎?
附上你的 檔案看看

TOP

回復 14# usana642
正常啊沒你說的問題,會是你IE有問題嗎?
早上我的IE 也有問題,看這網頁修改了.
http://tw.knowledge.yahoo.com/question/question?qid=1509082302506

TOP

本帖最後由 GBKEE 於 2012-10-17 18:15 編輯

回復 16# usana642
我的電腦可以執行程式,下載資料都OK,我的問題是當天的數值都放在A欄位

這不對的 我下載完成的是你所要的有分欄的
100年08月市場成交資訊(元,股)                                       
日期        成交股數        成交金額        成交筆數        發行量加權股價指數        漲跌點數
100/08/01        4,802,873,133        134,792,140,188        1,045,023        8,701.38        57.2
100/08/02        4,460,257,070        128,697,790,897        983,452        8,584.72        -116.66
100/08/03        5,242,190,864        147,151,600,336        1,158,419        8,456.86        -127.86
100/08/04        5,107,533,580        141,508,869,343        1,125,390        8,317.27        -139.59
100/08/05        5,994,797,600        162,619,243,835        1,209,399        7,853.13        -464.14
100/08/08        6,146,181,315        168,324,584,613        1,289,476        7,552.80        -300.33
100/08/09        7,587,824,872        202,710,492,435        1,544,718        7,493.12        -59.68
100/08/10        6,265,027,298        179,518,452,401        1,423,133        7,736.32        243.2
100/08/11        5,424,476,208        153,879,609,456        1,275,107        7,719.09        -17.23

TOP

回復 20# usana642
那是匯入外部資料, 這是開啟Excel  csv   文字檔,有些不同的
你試著開啟一 Excel  csv 文字檔,如有你說資料皆在A欄,那就可能是EXCEL的問題.

TOP

本帖最後由 GBKEE 於 2012-10-18 17:56 編輯

回復 23# usana642
  1. Option Explicit
  2. 用 2000版 以上試試看
  3. Sub Ex()
  4.      Columns(8).Replace "-", ""
  5.      '或是
  6.      Range("H:H").Replace "-", "0"
  7. End Sub
複製代碼

TOP

回復 26# usana642
試試看
  1. Option Explicit
  2. Sub Ex()
  3.     With ActiveSheet
  4.         .Cells.Clear
  5.         With .QueryTables.Add("URL;http://www.taifex.com.tw/chinese/3/3_2_2.asp", ActiveSheet.[A1])
  6.             .WebFormatting = xlWebFormattingNone
  7.             .Refresh BackgroundQuery:=False
  8.             ActiveSheet.Names(.Name).Delete
  9.         End With
  10.         .Range("E:G,I:L,N:Q").Delete                                    '刪除多餘的欄
  11.         .Range("1:6,8:8").Delete                                        '刪除多餘的列
  12.         .Range("B1").End(xlDown).Offset(1).Resize(2).EntireRow.Delete   '刪除多餘的列
  13.         .Range("A:A").Insert                                            '插入一欄
  14.         .[B1].Resize(, 12) = Array("契約", "月份", "履約價", "買賣權", "成交價", "未平倉量", "CALL", "=C2", "call-oi", "put-oi", "call-oi$", "put-oi$")
  15.         '**  "=C2" 可修改為 正確的參照  ***
  16.         With .Range("b2", .[b2].End(xlDown))
  17.             .Offset(, -1) = "=rc4 +rc8 + rc9"
  18.             .Columns(5).Replace "-", ""
  19.             .Columns(7) = "=IF(rc[-3]=""Call"",1,0)"    'R1C1表示法 : 工作表上腧入公式
  20.             .Columns(8) = "=IF(rc[-6]=r1c9,1,8)"
  21.             .Columns(9) = "=IF(rc[-2]=1,rc[-3],0)"
  22.             .Columns(10) = "=IF(rc[-3]=0,rc[-4],0)"
  23.             .Columns(11) = "=if(rc[-1]=0,rc[-6]*rc[-5],"""")"
  24.             .Columns(12) = "=if(rc[-2]<>0,rc[-7]*rc[-6],"""")"
  25.         End With
  26.         .UsedRange.Value = .UsedRange.Value             '消除公式
  27.         .Columns.AutoFit
  28.     End With
  29. End Sub
複製代碼

TOP

        靜思自在 : 有願放在心裡,沒有身體力行,正如耕田不播種,皆是空過因緣。
返回列表 上一主題