Excel精英培训网

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

[已解决]请帮忙编一个复制网页表格数据的vba代码

[复制链接]
发表于 2015-1-24 14:37 | 显示全部楼层 |阅读模式
http://data.eastmoney.com/report/ylyc.html
这是东方财富网上个股盈利预测一览表的数据,由于数据页面多,每天都有更新,复制起来很费时间,所以恳请老师们帮忙编一个VBA代码,谢谢!!!!!!!!
最佳答案
2015-1-24 22:31
  1. Sub 按钮1_Click()
  2.     Dim ul$, Str$, i&, j&, x&
  3.     Dim arr, br, brr
  4.     ReDim brr(1 To 5000, 1 To 17)
  5.     ul = "http://nufm.dfcfw.com/EM_Finance2014NumericApplication/JS.aspx?type=CT&cmd=C._A&sty=GEMCPF&st=(AllNum)&sr=-1&p=1&ps=5000&cb=&js=var%20wdWUVlLp={%22data%22:[(x)],%22pages%22:%22(pc)%22}&token=3a965a43f705cf1d9ad7e1a3e429d622&rt=47403574"
  6.     Str = GetSource(ul)
  7.     arr = Split(Split(Str, "={""data"":[""")(1), """,""")    '将结果拆分放入数组
  8.     For i = 0 To UBound(arr)
  9.         x = x + 1
  10.         br = Split(arr(i), ",")
  11.         For j = 1 To 17
  12.             brr(x, j) = br(j)
  13.         Next
  14.     Next

  15.     ActiveSheet.UsedRange.Offset(2).ClearContents
  16.     [D:D].NumberFormat = "@"
  17.     Range("D3").Resize(x, 17) = brr
  18. End Sub
  19. Private Function GetSource(sURL As String) As String
  20.     Dim oXHTTP As Object
  21.     Set oXHTTP = CreateObject("MSXML2.XMLHTTP")    '创建xmlhttp用于读取网页源代码
  22.     oXHTTP.Open "GET", sURL, False    '获取对应页源代码
  23.     oXHTTP.Send                       '发送请求
  24.     GetSource = oXHTTP.responsetext   '提取返回的网页源代码
  25.     Set oXHTTP = Nothing
  26. End Function
复制代码
附件:
网页取数.zip (18.5 KB, 下载次数: 19)
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2015-1-24 22:31 | 显示全部楼层    本楼为最佳答案   
  1. Sub 按钮1_Click()
  2.     Dim ul$, Str$, i&, j&, x&
  3.     Dim arr, br, brr
  4.     ReDim brr(1 To 5000, 1 To 17)
  5.     ul = "http://nufm.dfcfw.com/EM_Finance2014NumericApplication/JS.aspx?type=CT&cmd=C._A&sty=GEMCPF&st=(AllNum)&sr=-1&p=1&ps=5000&cb=&js=var%20wdWUVlLp={%22data%22:[(x)],%22pages%22:%22(pc)%22}&token=3a965a43f705cf1d9ad7e1a3e429d622&rt=47403574"
  6.     Str = GetSource(ul)
  7.     arr = Split(Split(Str, "={""data"":[""")(1), """,""")    '将结果拆分放入数组
  8.     For i = 0 To UBound(arr)
  9.         x = x + 1
  10.         br = Split(arr(i), ",")
  11.         For j = 1 To 17
  12.             brr(x, j) = br(j)
  13.         Next
  14.     Next

  15.     ActiveSheet.UsedRange.Offset(2).ClearContents
  16.     [D:D].NumberFormat = "@"
  17.     Range("D3").Resize(x, 17) = brr
  18. End Sub
  19. Private Function GetSource(sURL As String) As String
  20.     Dim oXHTTP As Object
  21.     Set oXHTTP = CreateObject("MSXML2.XMLHTTP")    '创建xmlhttp用于读取网页源代码
  22.     oXHTTP.Open "GET", sURL, False    '获取对应页源代码
  23.     oXHTTP.Send                       '发送请求
  24.     GetSource = oXHTTP.responsetext   '提取返回的网页源代码
  25.     Set oXHTTP = Nothing
  26. End Function
复制代码
附件:
网页取数.zip (18.5 KB, 下载次数: 19)

评分

参与人数 1 +3 收起 理由
另类2011 + 3 很给力!谢谢!!!

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2015-1-25 09:20 | 显示全部楼层
芐雨 发表于 2015-1-24 22:31
附件:

很好用,谢谢芐雨老师!还有请问一下这个链接网址是怎么取得的:
"http://nufm.dfcfw.com/EM_Finance2014NumericApplication/JS.aspx?type=CT&cmd=C._A&sty=GEMCPF&st=(AllNum)&sr=-1&p=1&ps=5000&cb=&js=var%20wdWUVlLp={%22data%22:[(x)],%22pages%22:%22(pc)%22}&token=3a965a43f705cf1d9ad7e1a3e429d622&rt=47403574"
不吝赐教,谢谢!!!!!!!
回复

使用道具 举报

发表于 2015-1-25 09:21 | 显示全部楼层
另类2011 发表于 2015-1-25 09:20
很好用,谢谢芐雨老师!还有请问一下这个链接网址是怎么取得的:
"http://nufm.dfcfw.com/EM_Finance201 ...

用Fiddler 找到的取数的实际地址。

评分

参与人数 1 +3 收起 理由
另类2011 + 3 赞一个!谢谢!!!

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2015-1-25 09:35 | 显示全部楼层
芐雨 发表于 2015-1-25 09:21
用Fiddler 找到的取数的实际地址。

谢谢芐雨老师!好人一生平安!!!!!!!!!
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-4 23:54 , Processed in 0.323802 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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