1、 通过菜单及VBA刷新数据
(1) 打开工作簿时刷新
(2) 每几分钟刷新

(3) 按需刷新,删除连接
ThisWorkbook.Connections("查询-表名").RefreshThisWorkbook.Connections("查询-表名").Delete
请注意这个连接名称不单是单独的查询表名,具体的可以从菜单现有连接中查看。

删除连接主要作用是删除加载表和查询的连接关系,查询还是继续存在。

(4) 删除查询
ThisWorkbook.Queries("查询名称").Delete
查询名称Queries,代表的是我们平时所看的查询名称,例如下面这种,查询名称直接用表1进行替换即可。相当于删除此查询,请谨慎操作。

(5) 刷新所有Power Query创建的连接
//设置变量Dim n As Long, cn As WorkbookConnection //错误继续On Error Resume Next //循环每一个连接For Each cn In ThisWorkbook.Connections //主要是判断是否是PQ创建的连接N = InStr(1, cn.OLEDBConnection.Connection,_"Provider=Microsoft.Mashup.OleDb.1") //如果存在字符串则刷新连接If lTest > 0 Then cn.Refresh Next cn
为什么用字符串包含呢?我们可以看下查询属性里面的连接字符串样式。

(6) 刷新数据模型
ThisWorkbook.Model.Refresh
(7) 全部刷新
刷新所有,包括查询,Power Pivot透视表等
ThisWorkbook.RefreshAll
当然我们可以继续延伸下思路,可以指定刷新部分查询,打开工作表的时候进行刷新等等都可以。