玖叶教程网

前端编程开发入门

通过Excel的VBA自动刷新,删除指定查询数据以及数据模型

1、 通过菜单及VBA刷新数据

(1) 打开工作簿时刷新

(2) 每几分钟刷新

(3) 按需刷新,删除连接

ThisWorkbook.Connections("查询-表名").Refresh
ThisWorkbook.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

当然我们可以继续延伸下思路,可以指定刷新部分查询,打开工作表的时候进行刷新等等都可以。

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言