前言
当下较火的经济新闻:黄金价格暴涨、日元贬值、美元加息等,咱们不去分析了解这些经济变动背后的动机及原因,做一点本份的事,如何用VBA获取外汇牌价,即100元外币能兑换多少人民币。从事国际贸易、股票或其他相关行业的童鞋,对此应该比较关注。咱们本期只聊如何用VBA代码获取中国银行网站上外汇牌价。
一、网站截图:
二、操作思路:
1、打开工作薄时检查是否有“外汇牌价”工作表,若无,则新建“外汇牌价”工作表并放在工作表第一位,在工作表第一行单元格依次填入“货币名称”, “现汇买入价”, “现钞买入价”, “现汇卖出价”, “现钞卖出价”, “中行折算价”, “发布日期”, “发布时间”,加入边框并设置列宽;2、在A列“货币名称”下依次填入需要查询的外币名称;3、运行程序,读取第二行及以后“货币名称”并将从网站上获取的对应信息依次填入相应列;若填入的“货币名称”有误或网络有问题,返回数据为空,则报出提示信息,当前“货币名称”单元格背景色变红色,继续下一外币信息,直至所有外币名称查询完毕。有信息的单元格加入边框。
三、代码如下:
1.检查、新建、调整工作表“外汇牌价”
Private Sub Workbook_Open()
Dim ws As Worksheet
Dim NewSheet As Worksheet
Dim existWS As Boolean
Dim arr() As Variant
Dim i As Integer
ReDim arr(7)
existWS = False
For Each ws In Worksheets
If ws.Name = "外汇牌价" Then '判断有无“外汇牌价”工作表
existWS = True
End If
Next
If existWS = False Then
Worksheets.Add Before:=Worksheets(1) '添加工作表并放在第一位,工作表名称为“外汇牌价”,
Set NewSheet = ThisWorkbook.Sheets(1)
NewSheet.Name = "外汇牌价"
End If
Worksheets("外汇牌价").Activate
arr = Array("货币名称"