Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 4045|回复: 7

[已解决]关于复制网上数据的问题

[复制链接]
发表于 2015-4-12 08:08 | 显示全部楼层 |阅读模式
5学分
本帖最后由 guodong321654 于 2015-4-12 08:14 编辑

新浪网上有提供股票成交数据明细,不过是当天成交信息是6点以后提供下载,即时信息股票买卖时下载不了,只得复制而复制太麻烦,新浪有好几个子网页必须逐步打开一一复制到excel上,然后再按时间排序,请教各位老师有比较好的简单方法或程序,实现一次性信息提取,谢谢。比如深中华A的股票4月12日从开盘到上午收盘时间段股票成交明细的提取。网址
网址.rar (3.03 KB, 下载次数: 13)

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2015-4-13 11:07 | 显示全部楼层    本楼为最佳答案   
今年股市不错,祝楼主发大财。

新浪股市当日即时股票成交明细:
  1. Sub 成交明细()
  2.     Dim url, ul, html, tb, i&, j&, k&, dm, iRow
  3.     dm = [j1].Value
  4.     If Len(CStr(dm)) <> 6 Or IsNumeric(dm) = False Then Exit Sub
  5.     If Left(dm, 1) = "6" Then dm = "sh" & dm Else dm = "sz" & dm
  6.     url = "http://vip.stock.finance.sina.com.cn/quotes_service/view/vMS_tradedetail.php?"
  7.     url = url & "symbol=" & dm
  8.     url = url & "&date=" & Format(Date, "yyyy-mm-dd")
  9.     url = url & "&page="
  10.     [a2:g9999] = "": [k1] = "获取中..."
  11.     Set html = CreateObject("htmlfile")
  12.     With CreateObject("msxml2.xmlhttp")
  13.         For k = 1 To 100
  14.             ul = url & k
  15.             iRow = [a65536].End(3).Row
  16.             .Open "get", ul, False
  17.             .send
  18.             html.body.innerhtml = StrConv(.ResponseBody, vbUnicode)
  19.             Set tb = html.all.tags("table")(3).Rows
  20.             For i = 1 To tb.Length - 1
  21.                 For j = 0 To tb(i).Cells.Length - 1
  22.                     If IsNumeric(Left(tb(i).Cells(0).innertext, 1)) = False Then [k1] = "": MsgBox "获取完成!": Exit Sub
  23.                     Cells(iRow + i, j + 1) = tb(i).Cells(j).innertext
  24.                 Next
  25.             Next
  26.         Next
  27.     End With
  28.     [k1] = ""
  29. End Sub
复制代码
成交明细.rar (38.63 KB, 下载次数: 16)
回复

使用道具 举报

 楼主| 发表于 2015-4-19 08:40 | 显示全部楼层
你好,这几天忙没有来看,首先谢谢你给我发的程序,但打开发现还是提取不了信息
回复

使用道具 举报

 楼主| 发表于 2015-4-19 08:41 | 显示全部楼层
雪舞子 发表于 2015-4-13 11:07
今年股市不错,祝楼主发大财。

新浪股市当日即时股票成交明细:

你好,这几天忙没有来看,首先谢谢你给我发的程序,但打开发现还是提取不了信息
回复

使用道具 举报

发表于 2015-4-19 08:57 | 显示全部楼层
guodong321654 发表于 2015-4-19 08:41
你好,这几天忙没有来看,首先谢谢你给我发的程序,但打开发现还是提取不了信息

提取的是当日成交明细,
休盘是没有数据的,
交易日再试。
回复

使用道具 举报

 楼主| 发表于 2015-4-19 17:06 | 显示全部楼层
雪舞子 发表于 2015-4-19 08:57
提取的是当日成交明细,
休盘是没有数据的,
交易日再试。

我把你程序的时间改为2015-04-17,试着提取,但提取不了
Sub 成交明细()
    Dim url, ul, html, tb, i&, j&, k&, dm, iRow
    dm = [j1].Value
    If Len(CStr(dm)) <> 6 Or IsNumeric(dm) = False Then Exit Sub
    If Left(dm, 1) = "6" Then dm = "sh" & dm Else dm = "sz" & dm
    url = "http://vip.stock.finance.sina.com.cn/quotes_service/view/vMS_tradedetail.php?"
    url = url & "symbol=" & dm
    url = url & "&date=" & "2015-04-17"
    url = url & "&page="
    [a2:g9999] = "": [k1] = "获取中..."
    Set html = CreateObject("htmlfile")
    With CreateObject("msxml2.xmlhttp")
        For k = 1 To 100
            ul = url & k
            iRow = [a65536].End(3).Row
            .Open "get", ul, False
            .send
            html.body.innerhtml = StrConv(.ResponseBody, vbUnicode)
            Set tb = html.all.tags("table")(3).Rows
            For i = 1 To tb.Length - 1
                For j = 0 To tb(i).Cells.Length - 1
                    If IsNumeric(Left(tb(i).Cells(0).innertext, 1)) = False Then [k1] = "": MsgBox "获取完成!": Exit Sub
                    Cells(iRow + i, j + 1) = tb(i).Cells(j).innertext
                Next
            Next
        Next
    End With
    [k1] = ""
End Sub
回复

使用道具 举报

发表于 2015-4-19 19:57 | 显示全部楼层
guodong321654 发表于 2015-4-19 17:06
我把你程序的时间改为2015-04-17,试着提取,但提取不了
Sub 成交明细()
    Dim url, ul, html, tb, i& ...

你想要历史行情明细还是当日即时行情明细,

它们网址都不同,你能试出来吗?

历史行情数据可以去新浪网站直接去下载,

即时行情只有交易日才提供。
回复

使用道具 举报

 楼主| 发表于 2015-4-20 13:53 | 显示全部楼层
雪舞子 发表于 2015-4-19 19:57
你想要历史行情明细还是当日即时行情明细,

它们网址都不同,你能试出来吗?

我试过里,非常实用,谢谢,你太厉害了,你有QQ号么,相加你为朋友
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-24 00:26 , Processed in 0.289453 second(s), 9 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表