使用 VBA Excel 宏通过按钮更新连接和查询

问题描述 投票:0回答:1

我有许多工作簿,其中有许多数据透视表和不同工作表上的许多连接。我想做的是分别更新数据透视表和外部连接。为此,我已经获得了仅更新动态表的代码:

Dim Hoja As Worksheet
Dim TD As PivotTable

For Each Hoja In ActiveWorkbook.Sheets
    For Each TD In Hoja.PivotTables
        'Actualizar cada TD
        TD.RefreshTable
    Next TD
Next Hoja

但现在我缺少一个类似的代码,该代码仅更新外部连接,很大程度上独立于所述连接的数量和位置(纸张或书籍)。

Excel 中的“全部刷新”按钮对我不起作用,因为它还会更新动态表。

目前我正在这样处理:

ActiveWorkbook.Connections("Consulta - Sheet1").Refresh
ActiveWorkbook.Connections("Consulta - Table 1").Refresh

但是,我有不同的书,具有不同的一对一连接,由于存在不同的连接,我必须为每本书制作多个按钮。我的目标是,只需一个按钮,我就可以更新任何工作簿的连接,就像使用动态表一样。

excel vba vba6
1个回答
1
投票

解决方案:

Sub UpdateConnections()

Dim conn As WorkbookConnection

For Each conn In ActiveWorkbook.Connections
    conn.Refresh
Next conn

End Sub
© www.soinside.com 2019 - 2024. All rights reserved.