通过VBA更改数据透视表连接

时间:2018-07-18 18:12:12

标签: excel vba pivot-table olap-cube

我有一本工作簿,其中有几个连接到OLAP多维数据集的数据透视表。他们都指向同一个OLAP多维数据集,但只是重复的连接,因此刷新工作簿将进行20次刷新,而不仅仅是1次。

如果我尝试手动更改连接,则会超时,因此我正在尝试通过代码来完成。见下文:

Sub CleanUpConnections()
Dim wb As Workbook
Dim wbcon As WorkbookConnection
Dim wks As Worksheet
Dim pvt As PivotTable

Set wb = ActiveWorkbook
Set wbcon = wb.Connections(1)

For Each wks In Worksheets
    For Each pvt In wks.PivotTables
        pvt.PivotCache.EnableRefresh = False
        pvt.ChangeConnection (wb.Connections(1).WorksheetDataConnection)
        pvt.PivotCache.EnableRefresh = True
    Next pvt
Next wks
End Sub

但是我在网上遇到了应用程序或对象定义的错误

pvt.ChangeConnection (wb.Connections(1).WorksheetDataConnection)

有什么建议吗?

0 个答案:

没有答案