|
本帖最后由 Godinall 于 2017-1-19 18:32 编辑
新人提问, 各种不懂还请多关照
我们有一张表,结构如下,其中的汇率需要根据上个月最后一天的汇率来计算
Date | Deatails | EXCH | RMB | USD | Total Sent |
11月-16 | Runnning Cost | 6.8865 | 25000 | 3630.29 | 3630.29 | | Base Fee |
| 11600 | 1684.46 | 5314.75 | | Float |
| 7434.25 | 1079.54 | 6394.29 | | Stock items |
| 1356.9 | 197.04 | 6591.32 | |
|
|
|
|
| 12月-16 | Running Cost | 6.9321 | 25000 | 3630.29 | 3630.29 | | Credit Note |
| -300 | -43.56 | 3586.73 | | Base Fee |
| 11600 | 1684.46 | 5271.18 | | Float |
| 10149 | 1473.75 | 6744.94 | | Stock items |
| 1356.9 | 197.04 | 6941.97 |
获取汇率的API:h t t p : / / api。fixer。io/2017-01-07?base=USD&symbols=CNY
抱歉我不能发URL链接,请去掉空格替换句号。返回的数据是JSON格式
{"base":"USD","date":"2017-01-06","rates":{"CNY":6.9178}}
我想做到的是,根据日期单元格的内容,自动更新汇率栏的数字。每个月的行数并非完全一致。
但是如果这是障碍的话我可以修改为每月4行。然后空一行起下个月。
我试过用POWER QUERY,可以正常获取到汇率数字,但是无法使用单元格日期作为参数。
VBA不太懂,试着参照论坛前辈发的修改了一个,但是每次需要弹出对话框用户手动输入。
还请各位大神赐教,感谢!
Sub 查询()
Dim sDate As String
sDate = Application.InputBox("请输入日期", "输入", Text)
Cells.Clear
With ActiveSheet.QueryTables.Add(Connection:= _
"URL;h t t p://api。fixer。io/ " & sDate & "?base=USD&symbols=CNY", _
Destination:=Range("A1"))
.Name = "我的查询"
.PreserveFormatting = True
.WebTables = "2"
.Refresh
End With
End Sub
- =SUBSTITUTE(MID(WEBSERVICE("http://api.fixer.io/"&TEXT(EOMONTH(A1,0),"yyyy-mm-dd")&"?base=USD&symbols=CNY"),50,6),"}","")
复制代码
|
|