抓股票公開資料 Excel v1.3 - 股票

Brianna avatar
By Brianna
at 2017-11-24T20:20

Table of Contents

網誌好讀版:
http://kslman.blogspot.tw/2017/11/excalvbav13.html



--
插入股票公開資料的檔案我做了更新,供大家參考:
stock_sample_v1.3.xlsm
https://drive.google.com/open?id=1g5saowjYAeXNi73a0pss96-xZeXPUTXr

使用方式:
1. 「關注」的分頁C列填入股票代碼。
2. 點擊「關注」分頁左上「refresh」按鈕就可以刷新全部。
(判斷方式是16:00以前只刷新興櫃,16:00以後則全部更新。如果想假日更新最新的前一
交易日,可以改TWN分頁的A10~A12)
2017/12/1補充:我觀察交易日14:00上市上櫃也都有資料了,有需要可以自己改成14:00



調整內容:
1. 新增更新全部分頁的方式
2. 修正了櫃買中心的興櫃csv連結為:
http://www.gretai.org.tw/storage/emgstk/ch/new.csv

目前問題:
1. 興櫃股票我抓的政府資料開放平臺的資料沒有前一天價格,所以沒有辦法算漲跌、漲
跌幅和昨收。(如果有人知道哪邊抓的資料有漲跌或前一天價格可以跟我說一下)
2. P/E只有上市有。
3. 美股不知道哪邊有資料,有人知道那邊有美股類似證交所這樣一個表有全部股價資料
的網站嗎?

新增的巨集內容如下。
Private Sub CommandButton1_Click()

Sheets("TWN").Select
'宣告變數
Dim QuerySheet As Worksheet
Dim DataSheet As Worksheet
Dim qurl As String
Dim NOW, BN, LTH As Long
NOW = Sheets("TWN").Range("A4")
BN = Sheets("TWN").Range("A9")
LTH = Sheets("TWN").Range("A8")
'告訴Excel不要每更新一格就重新計算
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Application.Calculation = xlCalculationManual
'將現在的工作表設為資料表
Set DataSheet = ActiveSheet
qurl = "http://www.gretai.org.tw/storage/emgstk/ch/new.csv"
'選擇TWN sheet
Sheets("TWN").Range("B:Z").Clear

If NOW >= BN Then
If LTH < 16 Then
'如果時間是16:00之前
'抓取資料(TWN sheet)
QueryQuote:
With ActiveSheet.QueryTables.Add(Connection:="URL;" & qurl,
Destination:=DataSheet.Range("B1"))
.BackgroundQuery = True
.TablesOnlyFromHTML = False
.Refresh BackgroundQuery:=False
.SaveData = True
.RefreshStyle = xlInsertEntireRows
.Delete
End With

'讓Excel重新活回來,讓資料能夠顯示
Application.Calculation = xlCalculationAutomatic
Application.DisplayAlerts = True
'切數據(TWN sheet)
Sheets("TWN").Columns("B:B").Select
Selection.TextToColumns Destination:=Range("B1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True,
_
Semicolon:=False, Comma:=True, Space:=False, Other:=False, FieldInfo _
:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5,
1), Array(6, 1)), _
TrailingMinusNumbers:=True

'否則(如果時間是16:00之後)
Else


'抓取資料(TWN sheet)
QueryQuote2:
With ActiveSheet.QueryTables.Add(Connection:="URL;" & qurl,
Destination:=DataSheet.Range("B1"))
.BackgroundQuery = True
.TablesOnlyFromHTML = False
.Refresh BackgroundQuery:=False
.SaveData = True
.RefreshStyle = xlInsertEntireRows
.Delete
End With

'讓Excel重新活回來,讓資料能夠顯示
Application.Calculation = xlCalculationAutomatic
Application.DisplayAlerts = True
'切數據(TWN sheet)
Sheets("TWN").Columns("B:B").Select
Selection.TextToColumns Destination:=Range("B1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True,
_
Semicolon:=False, Comma:=True, Space:=False, Other:=False, FieldInfo _
:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5,
1), Array(6, 1)), _
TrailingMinusNumbers:=True
'更新上一交易日(TWN sheet的BN變數)
Sheets("TWN").Range("A4:A7").Select
Selection.Copy
Sheets("TWN").Range("A9").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:=False, Transpose:=False

'選擇TWO sheet
Sheets("TWO").Select

'告訴Excel不要每更新一格就重新計算
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Application.Calculation = xlCalculationManual
'將現在的工作表設為資料表
qurl =
"http://www.tpex.org.tw/web/stock/aftertrading/otc_quotes_no1430/stk_wn1430_print.php?l=zh-tw&d="
+ Sheets("TWO").Range("A9") + "/" + Sheets("TWO").Range("A10") + "/" +
Sheets("TWO").Range("A11") + "&se=EW&s=0,asc,0"
Sheets("TWO").Range("B:Z").Clear
'抓取資料(TWO)
QueryQuote3:
With ActiveSheet.QueryTables.Add(Connection:="URL;" & qurl,
Destination:=Sheets("TWO").Range("B1"))
.BackgroundQuery = True
.TablesOnlyFromHTML = False
.Refresh BackgroundQuery:=False
.SaveData = True
.RefreshStyle = xlInsertEntireRows
.Delete
End With

'讓Excel重新活回來,讓資料能夠顯示
Application.Calculation = xlCalculationAutomatic
Application.DisplayAlerts = True

'選擇TW sheet
Sheets("TW").Select

'將現在的工作表設為資料表
Set DataSheet = ActiveSheet
qurl =
"http://www.tse.com.tw/exchangeReport/MI_INDEX?response=csv&date=" +
Sheets("TW").Range("A9") + Sheets("TW").Range("A10") +
Sheets("TW").Range("A11") + "&type=ALLBUT0999"
Sheets("TW").Range("B:Z").Clear
'抓取資料(TW sheet)
QueryQuote4:
With ActiveSheet.QueryTables.Add(Connection:="URL;" & qurl,
Destination:=DataSheet.Range("B1"))
.BackgroundQuery = True
.TablesOnlyFromHTML = False
.Refresh BackgroundQuery:=False
.SaveData = True
.RefreshStyle = xlInsertEntireRows
.Delete
End With

'讓Excel重新活回來,讓資料能夠顯示
Application.Calculation = xlCalculationAutomatic
Application.DisplayAlerts = True
'切數據(TW sheet)
Sheets("TW").Columns("B:B").Select
Selection.TextToColumns Destination:=Range("B1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True,
_
Semicolon:=False, Comma:=True, Space:=False, Other:=False, FieldInfo _
:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5,
1), Array(6, 1)), _
TrailingMinusNumbers:=True

End If
End If

'選擇關注 sheet
Sheets("關注").Select

End Sub

--
Tags: 股票

All Comments

Mason avatar
By Mason
at 2017-11-27T20:42
補充,前一個版本可參考 #1Q0noLYE (Stock)
Carolina Franco avatar
By Carolina Franco
at 2017-12-02T13:20
先幫推
Andrew avatar
By Andrew
at 2017-12-06T03:21
先推 謝大大
Hedy avatar
By Hedy
at 2017-12-09T09:33
Emma avatar
By Emma
at 2017-12-12T00:44
謝謝
Noah avatar
By Noah
at 2017-12-16T08:32
樓主好人 一生平安
Irma avatar
By Irma
at 2017-12-17T06:58
Doris avatar
By Doris
at 2017-12-18T04:42
厲害
Elvira avatar
By Elvira
at 2017-12-19T16:01
感謝
Tracy avatar
By Tracy
at 2017-12-23T06:45
樓主好人
Daph Bay avatar
By Daph Bay
at 2017-12-26T21:05
推一個
Carol avatar
By Carol
at 2017-12-29T19:31
Agatha avatar
By Agatha
at 2018-01-02T09:36
Joe avatar
By Joe
at 2018-01-05T10:28
感動推
Ina avatar
By Ina
at 2018-01-08T22:45
厲害
Rebecca avatar
By Rebecca
at 2018-01-10T13:02
推推
Candice avatar
By Candice
at 2018-01-13T08:04
Anthony avatar
By Anthony
at 2018-01-15T08:27
先推
Valerie avatar
By Valerie
at 2018-01-20T07:51
Lauren avatar
By Lauren
at 2018-01-23T10:54
感動推
Heather avatar
By Heather
at 2018-01-25T05:13
Puput avatar
By Puput
at 2018-01-26T18:57
Lucy avatar
By Lucy
at 2018-01-31T02:29
多謝好心人
Lucy avatar
By Lucy
at 2018-02-01T09:55
Candice avatar
By Candice
at 2018-02-03T19:05
推。謝謝你
Heather avatar
By Heather
at 2018-02-04T08:11
大推.好人
William avatar
By William
at 2018-02-08T16:20
推好心!
Rosalind avatar
By Rosalind
at 2018-02-13T09:43
感謝分享
Connor avatar
By Connor
at 2018-02-17T17:37
感謝分享~~
Charlotte avatar
By Charlotte
at 2018-02-22T16:26
推謝謝~
Jacky avatar
By Jacky
at 2018-02-22T18:10
Eartha avatar
By Eartha
at 2018-02-27T04:32
好文必推
Vanessa avatar
By Vanessa
at 2018-03-03T01:52
有神必推!!!
Ina avatar
By Ina
at 2018-03-07T04:01
好強大 不過看不懂Q_Q
Rachel avatar
By Rachel
at 2018-03-11T16:52
貪心的問一下請問現金股利跟殖利率怎麼讓他跑出來..
.輸入代碼之後後面沒顯示
Hedwig avatar
By Hedwig
at 2018-03-12T13:54
Olivia avatar
By Olivia
at 2018-03-15T09:35
Ingrid avatar
By Ingrid
at 2018-03-17T07:38
讚讚讚
John avatar
By John
at 2018-03-21T05:27
感恩大大
Anonymous avatar
By Anonymous
at 2018-03-25T15:28
好用心
Olga avatar
By Olga
at 2018-03-26T10:31
股海良心
Delia avatar
By Delia
at 2018-03-28T11:55
Yuri avatar
By Yuri
at 2018-04-01T11:07
Sandy avatar
By Sandy
at 2018-04-04T11:25
Zanna avatar
By Zanna
at 2018-04-06T18:30
推一個
Andy avatar
By Andy
at 2018-04-08T04:56
厲害
Noah avatar
By Noah
at 2018-04-13T00:19
Elizabeth avatar
By Elizabeth
at 2018-04-17T06:04
有下有推 感謝
Ivy avatar
By Ivy
at 2018-04-21T17:58
太感謝了!
Quanna avatar
By Quanna
at 2018-04-26T00:17
有下有推!! 謝謝~~
Kyle avatar
By Kyle
at 2018-04-30T22:30
感謝大大
Quanna avatar
By Quanna
at 2018-05-02T15:14
Freda avatar
By Freda
at 2018-05-04T20:15
祝福好人大大一生平安~
Frederic avatar
By Frederic
at 2018-05-06T16:35
感謝大大讚嘆大大
Enid avatar
By Enid
at 2018-05-11T11:01
推謝
Thomas avatar
By Thomas
at 2018-05-14T05:24
推分享!
Doris avatar
By Doris
at 2018-05-15T07:10
推一個
Quanna avatar
By Quanna
at 2018-05-18T06:32
謝謝分享~
Valerie avatar
By Valerie
at 2018-05-22T08:03
大大太厲害了,想請問是不是興櫃才會更新日期呢??我
Hedwig avatar
By Hedwig
at 2018-05-23T17:09
看興櫃的有()TODAY指令,但上市跟上櫃的則沒有

涉炒作奧斯特股價翻倍檢調搜索約談15炒手

Elvira avatar
By Elvira
at 2017-11-24T19:25
1.原文連結: https://tw.news.appledaily.com/local/realtime/20171124/1247292 2.原文內容: 檢調獲報一個以蕭姓男子為首的炒股集團,從去年開始以相對成交等方式炒作上櫃電子股 台灣奧斯特(8080),不法獲利逾上千萬元,台北地檢署檢察官張靜薰 ...

6168 宏齊

Jake avatar
By Jake
at 2017-11-24T18:57
※ 引述《fill8800541 (水哥)》之銘言: : 1. 標的:6168 宏齊 : 2. 分類:多 : 3. 分析/正文:宏齊是LED的下游封裝廠 : 最近LED市況好轉 上游的晶電漲翻天 整個產業的下游應也可受惠 : 買這種強勢股不用把基本面看得太重 因此基本面分析就稍微打 ...

宏碁三大法人持股比重 來到新高

Emma avatar
By Emma
at 2017-11-24T18:22
1.原文連結: https://udn.com/news/story/7255/2837186 2.原文內容: 宏碁三大法人持股比重 來到新高 2017-11-24 10:46經濟日報 記者馬瑞璿╱即時報導 宏碁(2353)今日早盤開高,多方強勁,空方也不干示弱,使得宏碁開盤1小時,漲勢收 斂至平盤附近,早盤 ...

3406玉晶光自結

Necoo avatar
By Necoo
at 2017-11-24T16:16
https://imgur.com/y74lYY2 10月分自結1.4元 去年同期Q3 3.14元 看得出來毛利率比之前還高 接下來看一下11月營收吧! - ...

高價股買賣零股會有難度嗎

Joe avatar
By Joe
at 2017-11-24T15:54
想請教一下板上股民 在買賣高價股時,例如當今股王大立光 只買1股或只賣1股這種最低極限交易量時 是否有流通難度,會不會很難成交? 本來是想用模擬軟體測,結果測失敗無法成功下委托單 剛剛想了一下,用模擬的好像也不準 所以想請教一下板上眾股民 感謝 - ...