基于新浪行情接口和VBA的Excel股票行情自动定时抓取模板

来jisilu很多年了,给大家贡献一个自己用的基于新浪行情接口和VBA的Excel股票行情抓取模板。Excel模板在本贴附件里面,2017-2023年已经免费分享了5、6年,自现在起,取消免费分享.

一、解决的痛点:
1、自动抓取股票行情,避免手工跟踪股票价格、市值的麻烦。
2、避免股票行情软件花花绿绿的界面(懂得)
3、自定义各种公式

二、主要功能:
1、可获取A股指数、个股、转债、基金、港股(港股有可能是延时的) 行情
2、定时(30秒,可修改)刷新功能
3、增加修改需要关心的个股非常方便(不需要编程能力)

三、应用场景举例
1、持仓市值跟踪:手工在本Excel中输入持仓数量,借助实时行情刷新,可创建自己的实时市值、仓位管理功能。
2、转债溢价率跟踪:抓取转债价格、正股价格,可利用excel功能实时跟踪转债溢价率。
3、分级基金合并溢价跟踪:以上海分级为例,抓取A、B和母鸡价格,可跟踪分级基金合并溢价。

四、安全性
1、源代码VBA开放,可自行检查

五、运行条件:
1、Excel上要开放“宏”运行权限(一般性Excel会有提示)
2、版本问题申明:在本人Office家庭和学生版Excel上运行正常,本人WPS版本上运行正常。

六、免责声明
1、本excel免费使用,本人不承担因使用、复制、传播此excel及其相关功能造成的任何损失
2、由于使用者电脑设置及excel软件版本,可能造成运行不正常,此问题我无法控制,只能用户自行解决。从实际大约50+用户反馈来看,反映无法正常运行的用户极少(少于5%)

七、下载链接
若看官确有需要,请仔细阅读并接受以下条款,1、本人提供的模板仅为个人之间学习使用,不允许用于商业用途,交付后不承诺任何后续技术支持服务,也不接受退款,不对后续使用赴任何责任。 2、打赏10金币即视为接受上述条款,接到打赏后我会通过jisilu私信,提供百度网盘下载链接

-------------------------
历史变更记录:
20220121新浪接口变更,紧急消缺更新到4.0版本

20230730 取消免费分享,改为打赏后提供网盘链接(现已过期)

20230812公告 。感谢各位的关注,由于收到jisilu后台提醒“请不要在社区做任何形式的营销推广”,出于对jisilu的尊重,即日起停止在本贴分享行情抓取模板的下载链接。各位朋友若确有需要,可以pm联系沟通

自己用的,所以比较简陋。如有不明,可回帖或私信联系。

致谢:
1、这个方法参考了jisilu里面很多同学的帖子,特别感谢islq同学在https://www.jisilu.cn/question/2230帖子里面提供的excel样例.
2、致谢20220121 欣财富自由之路@jisilu网友提供的新浪接口修复代码
发表时间 2017-07-16 09:02     最后修改时间 2024-03-10 17:25

赞同来自: 拉格纳罗斯 luojd 一行ETF aa1149781059 陈修潤 啾啾喵的储粮罐 chasedreamyl wymanl jisilyh 凡先生 周予樟 财务自由彼岸 practice y21557900 burbose chiling1024 lindar2020 波风水门 牛肉干 tongzhangji lukefine gcm8892 ms7856 zdzchem punzeon 炸鱼 大悟无言 yyttcc705 沧海殁 chenamin 青萍风 kk123456789 neast waulsj icnwhy 掌缘 嗯嗯嗯哈 徐45785326 zhangyeats vimliu 剑客666 大地阳光和水 富丽 Zero577 凯大侠93 不知子 九八弘虫 一口跳跳糖 Harrison锋 shangqixu 剃刀与哑铃 sunny297 dongzhouwang 杨泽 踏着浪唱着歌 奇异世界 fa2018 xuhongju homanking wanghuimin PEPPER2018 lwhsq88 等我有钱了 魏不思 孔曼子 天地玄黄宇宙洪 shakdockcn 力不尽则憾 大米一号 lijiayao0 jaupcheng runrun88 aladdin898 赚钱冲 kkvv881 大明咒 lingulish Joybee zzyouxi DISS Loadstarr lamarka walkerdu jjf0802 mailsu flashnew 一生易生 wxiao33 乌衣巷口 云青天水瓶 一禾96 pppppp zsp950 小韭菜团子 不赚钱的股民 路林 鱼头85 wlovep 骷髅岛主 芊芊来了 datou1987 专注123 ONER 别喝我的咖啡 youyong 韦帅望 liaocx 想飞的土豆 路履薄冰 jsus11 泡霖 缘田雨 fzzzzg learntoearn 孔老大 njbdf 抄底逃顶 赚大了 StanGao Kluer 小怪兽188 海阔天空飞呀飞 浪三江 但愿海波起 圣权 转身2020 遛弯的猫 狗狗叫旺财 z465901739 kindos 聚雪 魂斗罗 老哥别砸了 lhcdy 虎啸龙 skyblue777 CPACFA Skyzh1 马褂学步 gy115 pandazz 款特长 马大帅 Yinhongc 海阔天空风清扬 fbird618 行者吴江 不紧张048546 Cynric 腰果好吃 白云苍苟 IHau 爱吃鱼的 软泥爱打人 请给我加油 Xindong6556 lizl_1987 bimuniu cxjcxj0529 开元盛世 Kim21 梦苏 asaili onyourwork kwokpc csg无名无为 一条游泳的鱼 爬楼梯啊 夹头又夹腿 杨俊卿 观道 hzhang021 客栈大掌柜 只中大肉 likewe 潇湘雨 cody2021 IHaO_O 枫韵紫秋 leomok123 memoriesaier 15641165706 sunistoy 松下寻隐者 renhai89757 戒戒戒 亏钱大师 wuist laplace 慎之又胜 规避风险 baicai8888 bingdiantouzi 深南大道 南柯迷渡 brightsky cat2015 justtemp更多 »

0

枫韵紫秋

赞同来自:

楼主,今早试了下不能用了,能看下哪里出问题了吗,感激不尽
2018-09-13 09:52 引用
0

枫韵紫秋

赞同来自:

Mac运行提示“定义的应用程序或定义的对象错误”,谢谢楼主
2018-09-03 21:10 引用
0

枫韵紫秋

赞同来自:

楼主能问下在Mac版的Excel怎么使用吗,windows上可以用,Mac上获取不了数据
2018-09-03 21:08 引用
0

枫韵紫秋

赞同来自:

太感谢楼主了,谢谢!
2018-09-03 14:07 引用
0

Scarlet

赞同来自:

感谢楼主
2018-08-14 15:51 引用
0

纪念冉闵

赞同来自:

感谢
2018-05-29 22:32 引用
0

甘泉

赞同来自:

没看到附件
2018-05-29 20:18 引用
0

linzii

赞同来自:

谢谢楼主
2018-05-29 15:18 引用
0

forrestsu

赞同来自:

都是大神!
2018-04-01 19:31 引用
0

luojd

赞同来自:

附件能呢?
2018-04-01 19:22 引用
0

sunistoy

赞同来自:

你好,请问市盈率TTL怎么抓取?
2018-04-01 11:55 引用
9

Login255

赞同来自: dongqingshun 四季0432 阿良 木奉木奉米唐 zg2000sh zenglm monsterh alanhan 几度沉更多 »

我把自动更新flitter银行股轮动数据工具中用到的提取行情的代码贴一下吧,可以更新港股和A股,具体表格结构见flitter原帖界面动画截图,根本不应该卡的。
真正获取行情的部分从:'获得查询url的股票list开始,直到Range("汇率") = ExchRate之间部分

'更新当前价格价格数据(昨收、现价)
Sub upDateCurHq()
Dim orgCode As String, dataGot, dataSplit
Dim itemCount As Byte, hkCount As Byte
Dim i As Byte, ExchRate As Double
Dim urlList As String
Dim NetStatus As Integer
Dim arrHisData() As Double
'    Application.ScreenUpdating = False
Sheets("flitter").Activate
ExchRate = NetOk
If ExchRate < 0 Then Exit Sub
With CreateObject("MSXML2.XMLHTTP")
    .Open "Get", "http://hq.sinajs.cn/?list=h_RMBHKD", False
    .Send
    ExchRate = Split(.responseText, ",")(4) / 100
End With
i = ActiveSheet.UsedRange.Row - 1 + ActiveSheet.UsedRange.Rows.Count
Range("I5", Cells(i, 10)).ClearContents
[I4] = "昨收"
[J4] = "现价"
'按代码类别排序股票
With ActiveSheet.AutoFilter.Sort
    .SortFields.Clear
    .SortFields.Add Key:=Range("B4"), Order:=xlAscending
    .Apply
End With

'查询RMB对HKD的汇率
hkCount = 0
itemCount = Sheets("flitter").Cells(Rows.Count, 2).End(xlUp).Row    '最下面的股票代码所在行号
If itemCount <= 5 Then Exit Sub
'获得查询url的股票list
For i = 5 To itemCount
    orgCode = LCase(Cells(i, 2))
    If Left(orgCode, 2) = "hk" Then
        orgCode = "rt_hk" & Right(orgCode, 5)
        hkCount = hkCount + 1
    End If
    urlList = urlList & "," & orgCode
Next i
'获得所有股票行情数据
With CreateObject("MSXML2.XMLHTTP")
    .Open "GET", "http://hq.sinajs.cn/list=" & Right(urlList, Len(urlList) - 1), False
    .Send
    dataGot = Split(.responseText, """;" & Chr(10))
End With

'获取港股昨收价和现价
For i = 5 To hkCount + 4
    dataSplit = Split(dataGot(i - 5), ",")
    With Sheets("flitter")
        .Cells(i, 9) = Round(dataSplit(3) * ExchRate, 3)    '昨收价-港股
        .Cells(i, 10) = Round(dataSplit(6) * ExchRate, 3)   '现价-港股
        '            .Cells(i, 14) = .Cells(i, 14) / Range("汇率") * ExchRate    '参照日价格按汇率变化进行调整
    End With
Next i
'获取A股昨收价和现价
For i = hkCount + 5 To itemCount
    dataSplit = Split(dataGot(i - 5), ",")
    With Sheets("flitter")
        .Cells(i, 9) = Round(dataSplit(2), 3)   '昨收价 - A股
        .Cells(i, 10) = Round(dataSplit(3), 3)  '现价 - A股
    End With
Next i
Range("汇率") = ExchRate
'恢复按flitter提供顺序排序
With ActiveSheet.AutoFilter.Sort
    .SortFields.Clear
    .SortFields.Add Key:=Range("A4"), Order:=xlAscending
    .Apply
End With
End Sub
2017-12-12 20:51 引用
0

stoneWeimin

赞同来自:

1,定时不要用VBA的,用API
2,你用函数方法,会导致多次查询,如果要查上百个,上千个股票,你这个卡死了。
其实几百个,上千个,也就一二秒钟时间,关键看你怎么写代码。
2017-12-12 20:25 引用
1

lichenghong

赞同来自: 追乌龟的兔子

最近找到一个比楼主好用的,而且不卡,想怎么刷新都可以.....
2017-12-12 20:12 引用
0

yuriiiii

赞同来自:

感动,我现在在每天手动更新 。。

我个人觉得 如果能自动record 每个交易日,然后sheet 2 有沪深300return,然后sheet 3 有收益曲线图表 是个不错的功能。

不过反正我mac好像都用不了,就当随便提的小想法给楼主咯
2017-12-08 21:01 引用
0

路林

赞同来自:

感谢分享!
2017-12-08 19:58 引用
0

wangliang99

赞同来自:

等下个月有空,我准备将此模板升升级,
现征求有关完善意见。(事先声明,本人也不是码农,编程水平有限,若不能实现诸位提出的功能,万望海涵)
2017-12-08 19:55 引用
0

四季0432

赞同来自:

我下载了,感谢楼主!
2017-12-08 19:44 引用
0

ehongyu

赞同来自:

谢谢楼主,不过每次打开360都报为病毒杀掉了......晕
2017-12-01 13:06 引用
0

起个名真费劲儿 - 80后文艺狗

赞同来自:

像技术大牛致敬!
2017-11-29 20:18 引用
0

zhensandigua

赞同来自:

感谢楼主
2017-11-29 20:13 引用
0

平凡007

赞同来自:

感谢分享
2017-11-29 19:33 引用
0

yuriiiii

赞同来自:

请教楼主,下载下来后启用了宏 仍然是 #VALUE, 如何解决呢

(上学期上课有学宏 但自己电脑一直没成功运行过。MAC OS, OFFICE 365正版)
2017-11-29 19:19 引用
0

规避风险

赞同来自:

赞一个
2017-11-29 19:01 引用
1

lichenghong

赞同来自: JIOJIOJI5

使用了一直死循环 卡死,能否弄个更新按钮,点击一下 更新一次数据呢
2017-11-29 18:43 引用
0

spring214

赞同来自:

楼主好人
2017-08-01 00:01 引用
0

weite

赞同来自:

感谢分享!
2017-07-31 23:05 引用
0

嘉仓佑措

赞同来自:

楼主高人!!
2017-07-31 22:19 引用
0

随行

赞同来自:

楼主好人
2017-07-31 18:34 引用
0

whmwhm

赞同来自:

楼主是好人,谢谢!!
2017-07-31 18:31 引用
0

baicai8888

赞同来自:

楼主好人!
2017-07-31 18:01 引用
0

一条游泳的鱼

赞同来自:

无私分享,太感谢!楼主结善缘,必得善果!
2017-07-31 17:45 引用
0

panpan2313

赞同来自:

楼主好人!
2017-07-26 22:04 引用
1

文明守望

赞同来自:

@wangliang99 是否有豆粕期权的价格接口?能否共享一下?50ETF期权的新浪接口已经搜索到了。
2017-07-26 21:48 引用
0

随心自若

赞同来自:

赞一个
2017-07-26 21:16 引用
0

标高

赞同来自:

厉害,还定义了这么多函数!
2017-07-18 19:15 引用
0

DPhil_G

赞同来自:

都是会玩的
2017-07-18 17:28 引用
0

sxc83

赞同来自:

这个要顶
2017-07-18 13:54 引用
0

fzll

赞同来自:

用不了,下载下来,打开宏就丢失了~~~
2017-07-18 13:32 引用
0

lawsunyer

赞同来自:

感谢分享
2017-07-18 13:31 引用
0

长期投资坚持者

赞同来自:

2017-07-18 13:27 引用
0

Fxujlihs

赞同来自:

下载的文件里面的“当前价”“收盘价”都显示#VALUE!,不知道什么原因。楼主能帮忙看一下吗
2017-07-18 13:19 引用
0

峰哥亡命稳健

赞同来自:

厉害了
2017-07-16 20:59 引用
0

ndnetman

赞同来自:

感谢分享!
2017-07-16 20:50 引用
0

romapass - I love FJ.

赞同来自:

新浪港股行情不是实时的吧
2017-07-16 20:42 引用
0

Fxujlihs

赞同来自:

多谢分享,研究一下。
2017-07-16 20:28 引用
0

MotorDriver

赞同来自:

哪里下载啊?
2017-07-16 14:55 引用
1

MotorDriver

赞同来自: 老哥别砸了

哪里下载啊?
2017-07-16 14:55 引用
0

气自华

赞同来自:

收了,最近研究VB,学到数组,后来因为工作的事情,耽误了。有空找LZ讨教啊!
2017-07-16 11:20 引用
0

布局将来

赞同来自:

赞一个
2017-07-16 10:17 引用

要回复问题请先登录注册

发起人

问题状态

  • 最新活动: 2024-03-15 14:36
  • 浏览: 144014
  • 关注: 766