繁体   English   中英

Excel 网页查询

[英]Excel Web Query

我使用网络查询工具在电子表格中导入一个表格。 鉴于我想多次查询该站点,我录制了一个宏以将 Web 查询转换为 VBA 格式,然后循环使用它来下载我需要的表。

通过这样做,我注意到 excel web 查询做了一些奇怪的事情(显然对我来说)。 从数据源,它通过硬编码日期对列标题进行转换。 如果标头是静态的,这不会成为问题,但鉴于他们会改变,如果我将代码保持原样,这将是一个问题。

我想知道是否有一种方法可以在 VBA 中概括 Web 查询完成的数据转换,以便正确导入数据和日期

您可以在下面找到网络查询的代码

"let" & Chr(13) & "" & Chr(10) & "    Source =
 Web.Page(Web.Contents(""https://fred.stlouisfed.org/release/tables?
rid=53&eid=783269#snid=783270""))," & Chr(13) & "" & Chr(10) & 
"    Data0 = Source{0}[Data]," & Chr(13) & "" & Chr(10) & 
"    #""Changed Type"" = Table.TransformColumnTypes(Data0,{{"""", type text},
 {""Q3 2020"", type number}, {""Q2 2020"", type number}, {""Q3 2019"", type
 number}})" & Chr(13) & "" & Chr(10) & "in" & Chr(13) & "" & Chr(10) & " 
   #""Changed Type"""

您可以确定当前列名,并自己创建转换列表。

例如:

colNames = Table.ColumnNames(Data0),
colTypes = {type text, type number, type number, type number},

    #"Changed Type" = Table.TransformColumnTypes(Data0,List.Zip({colNames,colTypes}))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM