作者:绿色风
分类:财会金融
时间: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自身的导入网页数据的功能,录制个宏,然后修改,得到如下代码:
- Sub Macro1()
- Dim p&
- On Error Resume Next '利用忽略错误,来规避节假日无数据网页错误
- For p = 0 To Date - #9/30/2011# '利用天数差做计数器
- If p > 0 And Err.Number = 0 Then Sheets.Add After:=Sheets(Sheets.Count) '如果没有那天的数据,会报错,报错则不添加新工作表,在原工作表继续执行代码,如果没报错,则就要新添加工作表,然后写入数据
- Err.Clear '清除错误
- With ActiveSheet
- .Select '切换到新建工作表
- .Name = Format(#9/30/2011# + p, "yyyymmdd") '按yyyymmdd规则命名
- With .QueryTables.Add(Connection:="URL;http://www.204001.info/fundlist/" & Format(#9/30/2011# + p, "yyyymmdd") & ".html", Destination:=[a1]) '运用querytable导入页面数据,设定URL和输出单元格在A1
- .BackgroundQuery = True '后台查询
- .RefreshStyle = xlOverwriteCells '用覆盖方式写入
- .WebSelectionType = xlAllTables '导入所有表数据
- .Refresh BackgroundQuery:=False '不进行后台更新设置
- End With
- ActiveSheet.UsedRange.QueryTable.Delete '删除QUERTABLE,导入后就不需要他了。
- End With
- Next
- 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总版主之一