查询和计算数据表更改时自动刷新多个数据透视表

时间:2017-01-13 16:07:31

标签: excel vba excel-vba pivot pivot-table

我有一个数据表("数据"),其中列A:K从查询中拉出,而列L:O计算来自A:K的信息。

我有两个数据透视表(" PT-Day"," PT-Wk"),有两个独立的数据透视表(两者都称为" PivotTable5")参考"数据"信息。

数据连接设置为每5分钟刷新一次。当数据表上的任何内容发生变化时,我需要两个数据透视表进行刷新。

我在“数据”标签中尝试了以下代码。

Private Sub Worksheet_Change(ByVal Target As Range)
    Worksheets("PT-Day").PivotTables("PivotTable5").PivotCache.Refresh
    Worksheets("PT-Wk").PivotTables("PivotTable5").PivotCache.Refresh
End Sub

我在第02行收到了一个超出范围的下标错误。我还尝试了一个没有计算列的新数据选项卡并使用上面的代码 - 结果相同。请帮忙?

1 个答案:

答案 0 :(得分:0)

我试过这个,我的数据在1张纸上,另外2张纸有透视表。由于命令,第一个数据透视表表已刷新,最后是第二个工作表。看看这是否适合你。

Private Sub Worksheet_Calculate()

    'If data on this worksheet changes, refresh the pivot table
    Sheets("Pivot").PivotTables("PivotTable1").RefreshTable

End Sub