使用 VBA 将数据透视表与切片器连接



我正在Excel中处理仪表板。

我重构了一些数据透视表,以允许单个切片器筛选所有图形,但后来发现不能简单地更改与其他表共享切片器的数据透视表的数据源。

我有一个宏,它刷新一个数据表,然后将表的数据源修改为新范围。

我想断开切片器与表的连接,更新表,更新表的数据源,然后将切片器重新连接到表。

在最后阶段;在VBA中删除切片器并更新范围后,我发现自己无法将切片器重新附加到表中。我可以通过右键单击切片器->"数据透视表连接"并选中所有框来手动执行此操作。

我录制了这个宏。

ActiveWorkbook.SlicerCaches("Slicer_Shift").PivotTables.AddPivotTable ( _
ActiveSheet.PivotTables("dryer_table"))
ActiveWorkbook.SlicerCaches("Slicer_Shift").PivotTables.AddPivotTable ( _
ActiveSheet.PivotTables("operating_table"))
ActiveWorkbook.SlicerCaches("Slicer_Shift").PivotTables.AddPivotTable ( _
ActiveSheet.PivotTables("shift_table"))

它正在抛出错误:

运行时错误"1004":无法获取工作表类的数据
透视表属性

我的切片器名为"Slicer_Shift",表名称正确。

使用 Excel 2010。

好的,我让它工作了。我通过将ActiveSheet更改为Sheets(<name>)来修复它。

最新更新