ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > 我的酷贴 > Excel VBA > 如何运用VBA下载网络上的上市公司2010年年报数据报表

如何运用VBA下载网络上的上市公司2010年年报数据报表

作者:绿色风 分类: 时间:2022-08-18 浏览:71
楼主
xmyjk
Q:如何运用VBA下载网络上的上市公司2010年年报数据报表?
网址:

A:
  1. Option Explicit
  2. Sub test()
  3.     Dim tmp() As String, i As Integer, arr() As String, xmlhttp As Object, N As Long, tmp1() As String, p As Long
  4.         
  5.     [a1:N1] = Split("序号,股票代码,股票简称,每股收益(元),年报收益同比增长,季度收益环比增长,每股净资产(元),每股现金流量(元),净资产收益率(%),主营收入增长(%),主营利润增长率(%),主营毛利率(%),分配方案,公告日期", ",")
  6.    
  7.     Set xmlhttp = CreateObject("Microsoft.XMLHTTP")
  8.     For p = 1 To 24
  9.     N = [a65536].End(xlUp).Row + 1
  10.     With xmlhttp
  11.         .Open "get", "http://data.eastmoney.com/bbsj/201012/fsrq/" & p & ".html", False
  12.         .send
  13.         tmp = Filter(Split(Replace(Replace(Replace(Replace(Split(Split(.responsetext, "alt="""" /></a></th>")(1), "<tr class=""list_pager"">")(0), "</a>", ""), " </nobr></td>", ""), "</span>", ""), "</nobr>", ""), "</td>"), "<td>")
  14.     End With
  15.     ReDim arr(UBound(tmp) \ 14, 13)
  16.     For i = 0 To UBound(tmp)
  17.         tmp1() = Split(tmp(i), ">")
  18.         arr(i \ 14, i Mod 14) = tmp1(UBound(tmp1))
  19.     Next
  20.     Cells(N, 1).Resize(UBound(arr) + 1, UBound(arr, 2) + 1) = arr
  21.     [a:n].Columns.AutoFit
  22.     Erase tmp, tmp1
  23.     Erase arr
  24.     Next
  25.    
  26.     Set xmlhttp = Nothing
  27.    
  28.     MsgBox "Ok"
  29. End Sub

2010年报.rar
2楼
kevinchengcw
收藏学习!
3楼
wjc2090742
跟着k神收藏学习

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap