返回列表 上一主題 發帖

[發問] 日K開高低收轉換「週K」開高低收

[發問] 日K開高低收轉換「週K」開高低收

本帖最後由 bill740615 於 2018-5-4 11:45 編輯

大家好,
我都是以EXCEL紀錄股票指數每日數據(日K)
如附件,依日期新舊往下排列開盤-最高-最低-收盤價格
請問轉換成右欄的週K開高收低,VBA該如何寫呢?
備註:每週以週一開始,週日結束。
W_KD.rar (154.75 KB)

回復 1# bill740615

這個是要抓大盤的周K資料嗎?
Excel VBA網頁資料收集教學:
http://forum.twbts.com/thread-20848-1-1.html

TOP

回復 2# iamaraymond

是的,想說是不是能從日K轉換過去

TOP

回復 3# bill740615
  1. Sub test()

  2. Cells.Clear

  3. 'stockno = InputBox("輸入股票代號")

  4. Dim t: t = Timer
  5. Dim myXML As Object
  6. Set myXML = CreateObject("Microsoft.XMLHTTP")

  7. Dim myArr(1 To 1500, 1 To 6)

  8. With myXML
  9.     .Open "GET", "http://jdata.yuanta.com.tw/Z/ZB/ZBH/CZKC0.djbcd?a=EB09999&b=W&c=1440", False
  10.     .send
  11.     myText = .responseText
  12. End With

  13.     myText1s = Split(myText, " ")
  14.     j = 1
  15.     For Each myText1 In myText1s
  16.         i = 1
  17.         myText2s = Split(myText1, ",")
  18.         For Each myText2 In myText2s
  19.             If j > 6 Then Exit For
  20.             myArr(i, j) = myText2
  21.             i = i + 1
  22.         Next
  23.         j = j + 1
  24.     Next

  25. [A2:F2] = Array("日期", "開", "高", "低", "收", "成交量")
  26. [A3].Resize(1500, 6).Value = myArr

  27. Set myXML = Nothing

  28. Debug.Print Format(Timer - t, "0.00秒")

  29. End Sub
複製代碼
Excel VBA網頁資料收集教學:
http://forum.twbts.com/thread-20848-1-1.html

TOP

回復 3# bill740615

這是我從券商資料那邊抓下來的,這樣有符合你的需求嗎?
Excel VBA網頁資料收集教學:
http://forum.twbts.com/thread-20848-1-1.html

TOP

回復 5# iamaraymond

感謝,請教一下,如果要抓其他股票資料,怎麼輸入代號?

TOP

回復 6# bill740615

我有在你的另外一個貼文"1分K轉換日K的開高低收"底下留抓取股價資料的程式碼
在inputbox那邊可以輸入股票代號
Excel VBA網頁資料收集教學:
http://forum.twbts.com/thread-20848-1-1.html

TOP

回復 7# iamaraymond

請問如果我要查詢2330台積電,也是輸入「2330」嗎? 那國外指數也可以查詢嗎?

TOP

回復 8# bill740615

是的,當你執行程式時,應該會有一個輸入框跳出來,你只要輸入股票代號即可
Excel VBA網頁資料收集教學:
http://forum.twbts.com/thread-20848-1-1.html

TOP

回復 8# bill740615

應該不行,或者是你把可以查國外指數的網址給我,我再試試看可不可以做成這種模式
Excel VBA網頁資料收集教學:
http://forum.twbts.com/thread-20848-1-1.html

TOP

        靜思自在 : 生氣,就是拿別人的過錯來懲罰自己。
返回列表 上一主題