如何获取所有股票历史数据(excel炒股经验三)

Vicky 2024-06-06 11:39:18
最佳回答
1第一步,获取股票代码,复制其中一部分到第一个工作表a4到a127,然后通过程序把每一个代码写入到不同的工作表a2位置,并对该工作表以该股票代码命名。程序如下:sub 工作表命名()for i = 4 to 127sheets(i).range("a2") = "'" & sheets(1).range("a" & i)next ifor i = 4 to sheets.countsheets(i).name = sheets(i).range("a2").valuenextend sub2第二步,获取股票历史数据。代码如下:private function getsource(surl as string) as string dim oxhttp as object set oxhttp = createobject("msxml2.xmlhttp") oxhttp.open "get", surl, false oxhttp.send getsource = oxhttp.responsetext set oxhttp = nothingend functionsub 历史数据() dim objxml as object dim txtcontent as string dim i as integer dim strcode as string dim gp as string dim ka**hihang dim arr, arr1, arr2, arr3, arr4, arr5, arr6, arr7, arr8, arr9, arr10, arr11 on error resume nextendrow = range("a65536").end(xlup).rowstartrow = 4if startrow <= endrow then range(cells(startrow, 1), cells(endrow, 11)).value = ""else exit subend if set objxml = createobject("microsoft.xmlhttp") gp = [a2] for h = 1 to 4 for m = 1 to 4 ka**hihang = [a65535].end(xlup).row nian = replace(str(year(now) + 1 - h), " ", "") jidu = replace(str(4 + 1 - m), " ", "") with objxml .open "get", "http://quotes.money.163.com/trade/lsjyj_" + gp + ".html?year=" + nian + "&season=" + jidu + "", false .send if objxml.status = 200 then txtcontent = .responsetext arr = split(txtcontent, "'><td>") for i = 1 to ubound(arr) arr1 = split(arr(i), "</td><td") cells(i + ka**hihang, 1) = right(left(arr1(0), 10), 10) arr2 = split(arr1(1), chr(60)) cells(i + ka**hihang, 2) = mid(arr2(0), instr(arr2(0), ">") + 1) arr3 = split(arr1(2), chr(60)) cells(i + ka**hihang, 3) = mid(arr3(0), instr(arr3(0), ">") + 1) arr4 = split(arr1(3), chr(60)) cells(i + ka**hihang, 4) = mid(arr4(0), instr(arr4(0), ">") + 1) arr5 = split(arr1(4), chr(60)) cells(i + ka**hihang, 5) = mid(arr5(0), instr(arr5(0), ">") + 1) arr6 = split(arr1(5), chr(60)) cells(i + ka**hihang, 6) = mid(arr6(0), instr(arr6(0), ">") + 1) arr7 = split(arr1(6), chr(60)) cells(i + ka**hihang, 7) = mid(arr7(0), instr(arr7(0), ">") + 1) arr8 = split(arr1(7), chr(60)) cells(i + ka**hihang, 8) = mid(arr8(0), instr(arr8(0), ">") + 1) arr9 = split(arr1(8), chr(60)) cells(i + ka**hihang, 9) = mid(arr9(0), instr(arr9(0), ">") + 1) arr10 = split(arr1(9), chr(60)) cells(i + ka**hihang, 10) = mid(arr10(0), instr(arr10(0), ">") + 1) arr11 = split(arr1(10), chr(60)) cells(i + ka**hihang, 11) = mid(arr11(0), instr(arr11(0), ">") + 1) next i end if end with next m next hset objxml = nothingend sub3第三步,获取上证历史数据,并获取所有股票的历史数据。程序如下:sub 所有股票历史数据获取()application.screenupdating = false dim s as string, gp as string, nian as string, jidu as string, s1 as string dim arr, arr1, arr2, arr3, arr4, arr5, arr6, arr7, arr8, arr9 dim i, h as long dim ka**hihang dim lastrow as long, r as long on error resume nextendrow = sheet2.range("a65536").end(xlup).rowstartrow = 4if startrow <= endrow then sheet2.range(sheet2.cells(startrow, 1), sheet2.cells(endrow, 9)).value = ""else exit subend if for h = 1 to 5 for m = 1 to 4 ka**hihang = sheet2.[a65535].end(xlup).row nian = replace(str(year(now) + 1 - h), " ", "") jidu = replace(str(4 + 1 - m), " ", "") s1 = "http://quotes.money.163.com/trade/lsjysj_zh**hu_000001.html?year=" + nian + "&season=" + jidu + "" s = getsource(s1) arr = split(s, "'><td>") for i = 1 to ubound(arr) arr1 = split(arr(i), "</td><td") sheet2.cells(i + ka**hihang, 1) = right(left(arr1(0), 4), 4) & "-" & right(left(arr1(0), 6), 2) & "-" & right(left(arr1(0), 10), 2) arr2 = split(arr1(1), chr(60)) sheet2.cells(i + ka**hihang, 2) = mid(arr2(0), instr(arr2(0), ">") + 1) arr3 = split(arr1(2), chr(60)) sheet2.cells(i + ka**hihang, 3) = mid(arr3(0), instr(arr3(0), ">") + 1) arr4 = split(arr1(3), chr(60)) sheet2.cells(i + ka**hihang, 4) = mid(arr4(0), instr(arr4(0), ">") + 1) arr5 = split(arr1(4), chr(60)) sheet2.cells(i + ka**hihang, 5) = mid(arr5(0), instr(arr5(0), ">") + 1) arr6 = split(arr1(5), chr(60)) sheet2.cells(i + ka**hihang, 6) = mid(arr6(0), instr(arr6(0), ">") + 1) arr7 = split(arr1(6), chr(60)) sheet2.cells(i + ka**hihang, 7) = mid(arr7(0), instr(arr7(0), ">") + 1) arr8 = split(arr1(7), chr(60)) sheet2.cells(i + ka**hihang, 8) = mid(arr8(0), instr(arr8(0), ">") + 1) arr9 = split(arr1(8), chr(60)) sheet2.cells(i + ka**hihang, 9) = mid(arr9(0), instr(arr9(0), ">") + 1) next i next mnext happlication.screenupdating = truen = worksheets.countfor i = 4 to n worksheets(i).activate 历史数据nextend sub4第四步,保存工作簿,并对该工作簿命名为1,然后复制该工作簿27份,把所有股票代码写入每一个工作簿第一个工作表的a3到a127列。然后根据第一步对工作簿内的工作表命名,并在每一个工作表a2单元格内写入股票代码。5第五步,把这些工作簿存放到炒股文件夹下的数据库文件下。然后在炒股文件夹下新建一个工作簿,命名为“一键更新表格”,写入如下代码:sub 所有股票历史数据更新()dim wb as workbook for i = 1 to 27 set wb = workbooks.open(th**workbook.path & "\数据库\" & i & ".xl**") application.run "'" & wb.path & "\" & i & ".xl**'!所有股票历史数据获取"wb.s**ewb.close next iend sub当启动这一段代码以后,程序会自动一个一个的打开对应的工作簿然后获取里面所有股票的历史数据,存放在对应的工作表当中。6第六步,对相应的程序添加按钮,这样,我们在启动对应程序时,只需要点一下对应的按钮就可以实现了。这样,我们通过多个工作簿就实现了获取所有股票历史数据的方法。而后面,我们只需要通过获取对应股票每一天的历史数据,我们就能够在任意一天很快速的能够拥有所有股票的历史数据了。end 20210311
汇率兑换计算器

类似问答
  • 股票怎么查历史数据
    • 2024-06-06 11:04:54
    • 提问者: 未知
    一般炒股中能够提供的日个股的数据果你很多个股的历易数据,软件不具备这一功能了。目前国内比较专业的提供股票交易历史数据的网站是好数据网,其中不仅有所有股票的历史交易数据,还有比较丰富的历史数据分析方法可供我们参考。
  • 用python如何获取所有股票的历史数据并保存到excel文件?
    • 2024-06-06 16:09:54
    • 提问者: 未知
    我用python想获取所有的a股股票的历史数据,然后想把他们分别保存到各自的excel文件,可问题是如果想批量…
  • 如何下载股票历史数据?
    • 2024-06-06 01:38:07
    • 提问者: 未知
    方法2113/步骤1: 登录股票软件,点击左上角系统,选择子菜5261单下面的盘后数据下4102载。方法/步骤2: 在“沪1653深日线”栏目下,将日线和实时行情选项打勾。方法/步骤3: 点击第一个日期后面的向下小三角,设置起始日期。方法/步骤4: 点击第二个日期后面的向下小三角,设置结束日期。方法/...
  • 股票数据,股票历史数据,股票历史数据下载
    • 2024-06-06 04:29:17
    • 提问者: 未知
    不知道你下载股票历史数据做什么用?软件上已经存留了所有个股及指数的日线以上所有数据(60分钟以下近期数据)。如果你是要导出数据,以大智慧为例:工具-----数据浏览器-----选择数据类型及选择股票,然后点击导出数据,选择保存路径及给文件起名,任何确定即可。
  • 如何获取沪深股票历史行情数据? http://hq.sinajs.cn/l**t=sh601006可以拿到实时数据, 但拿不到历史数据
    • 2024-06-06 14:12:24
    • 提问者: 未知
    股票软件都可以下载更新历史数据的
  • 如何获得美国股票的及时交易历史数据?
    • 2024-06-06 12:34:52
    • 提问者: 未知
    如何获得美国股票的及时交易历史数据?查了一下,很容易获得 例如tesla股票的 每天的价格,但是无法获得…
  • 如何使用excel读取通达信股票日线数据
    • 2024-06-06 13:22:23
    • 提问者: 未知
    定量分析的第一步,是获取数据。  获取股票历史行情数据最方便的途径,就是直接读取股票行情软件留在你电脑中的日线数据文件。  但如果不是程序员,电脑里一般不会有vb、vc之类的编程语言。  其实,大家的电脑中一般都有office。office中的excel自带了一个vba语言的编程环境。功能也很强大。  我用excel里的vba编写了一段代码,读取通达信股票行情软件的日线文件。已经测试通过。  代码...
  • 如何利用程序(如python) 从新浪财经或者雅虎财经获取到所有a股数据(历史日线数据,实时股票数据)?
    • 2024-06-06 09:12:53
    • 提问者: 未知
    1:使用python.matplotlib 中的 finance module示例代码如下:from.
  • 如何获取股票数据与历史数据以数据库方式存储的
    • 2024-06-06 09:39:11
    • 提问者: 未知
    您使用炒股软件吗?任何一个大的证券公司的非迷你版炒股软件都可以下载股票数据与历史数据,且在其软件上可以随时查询和查看. 至于说要数据库方式存储的以便于查询或者sql语句能查询,则网上是下不到的,可以去买张与此有关的光盘试试. (其实,炒股软件下载的数据都是据库方式存储的,只要您知道存储格式就可以自己查询).
  • 如何获取实时股票交易数据?
    • 2024-06-06 16:50:26
    • 提问者: 未知
    去证券营业厅开通手机证券,然后在手机上下载安装一个证券公司提供网址的行情交易软件就可以看到实时的股票数据了,如果想买卖也可以。
汇率兑换计算器

热门推荐
热门问答
最新问答
推荐问答
新手帮助
常见问题
房贷计算器-九子财经 | 备案号: 桂ICP备19010581号-1 商务联系 企鹅:2790-680461

特别声明:本网为公益网站,人人都可发布,所有内容为会员自行上传发布",本站不承担任何法律责任,如内容有该作者著作权或违规内容,请联系我们清空删除。