我有许多工作簿,其中有许多数据透视表和不同工作表上的许多连接。我想做的是分别更新数据透视表和外部连接。为此,我已经获得了仅更新动态表的代码:
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
但是,我有不同的书,具有不同的一对一连接,由于存在不同的连接,我必须为每本书制作多个按钮。我的目标是,只需一个按钮,我就可以更新任何工作簿的连接,就像使用动态表一样。
解决方案:
Sub UpdateConnections()
Dim conn As WorkbookConnection
For Each conn In ActiveWorkbook.Connections
conn.Refresh
Next conn
End Sub