ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > 行业案例 > 财会金融 > 如何运用VBA查询多日基金交易份额并下载

如何运用VBA查询多日基金交易份额并下载

作者:绿色风 分类:财会金融 时间:2022-08-18 浏览:206
楼主
xmyjk
Q:网址:http://www.204001.info/showpage8.asp

 
如图,从下拉列表选择不同的日期,可以查询不同日期基金交易的份额。
希望将2011年9月30日到今天,大约有200天数据,全部下到一个工作薄中保存下来,每个工作表的名称用下面的形式来表示


A:首先,可以在点击下来列表框的时候,运用抓包工具。可以得出,动态查询页面的实际地址,如图:

 
很简单的猜到网页的URL规则,http://www.204001.info/fundlist/yyyymmdd.html
而且,页面非常简单,用我们EXCEL自身的导入网页数据的功能,录制个宏,然后修改,得到如下代码:

 
  1. Sub Macro1()
  2.     Dim p&
  3.     On Error Resume Next '利用忽略错误,来规避节假日无数据网页错误
  4.     For p = 0 To Date - #9/30/2011# '利用天数差做计数器
  5.         If p > 0 And Err.Number = 0 Then Sheets.Add After:=Sheets(Sheets.Count) '如果没有那天的数据,会报错,报错则不添加新工作表,在原工作表继续执行代码,如果没报错,则就要新添加工作表,然后写入数据
  6.         Err.Clear '清除错误
  7.         With ActiveSheet
  8.             .Select '切换到新建工作表
  9.             .Name = Format(#9/30/2011# + p, "yyyymmdd") '按yyyymmdd规则命名
  10.             With .QueryTables.Add(Connection:="URL;http://www.204001.info/fundlist/" & Format(#9/30/2011# + p, "yyyymmdd") & ".html", Destination:=[a1]) '运用querytable导入页面数据,设定URL和输出单元格在A1
  11.                 .BackgroundQuery = True '后台查询
  12.                 .RefreshStyle = xlOverwriteCells '用覆盖方式写入
  13.                 .WebSelectionType = xlAllTables '导入所有表数据
  14.                 .Refresh BackgroundQuery:=False '不进行后台更新设置
  15.             End With
  16.             ActiveSheet.UsedRange.QueryTable.Delete '删除QUERTABLE,导入后就不需要他了。
  17.         End With
  18.     Next
  19. End Sub
2.jpg
 

Book11.zip
2楼
い卋玑┾宝珼
妃妃V5,
向妃妃学习
3楼
Freamann
打开你的excel文件后,怎么不能不能自动运行?
4楼
:)
版主,这个打开之后里面没有东西的喔
5楼
mmice
http://www.204001.info/showpage8.asp
这个网挂了,想研究学习下,都不行了

免责声明

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

评论列表
sitemap