首先通过共享切片器功能将同一切片器关联多个数据透视表,确保各透视表基于同一数据模型,最后可用VBA宏实现批量自动化关联,提升报表交互性与操作效率。
如果您在使用Excel时希望实现一个切片器同时控制多个数据透视表,可以通过共享切片器功能将同一个切片器与多个数据透视表进行关联。这样可以提升报表的交互性和一致性。
本文运行环境:Dell XPS 13,Windows 11
一、通过共享切片器功能关联多个透视表
Excel中的切片器默认仅绑定到创建它时所基于的数据透视表,但可通过设置将其连接至其他位于同一工作簿中的透视表,前提是这些透视表基于同一个数据模型或具有相同的源结构。
1、点击已创建的切片器,激活“切片器工具-选项”选项卡。
2、在“关联数据透视表”按钮处点击,打开关联设置窗口。
3、在弹出的列表中,勾选需要连接该切片器的所有数据透视表。
4、确认选择后点击“确定”,此时切片器即可同步控制所有被选中的透视表。
二、确保数据透视表基于同一数据模型
若多个数据透视表来源于不同的普通区域而非Power Pivot数据模型,则无法直接共享切片器。必须将数据加载至数据模型中,以便实现跨透视表的切片器控制。
1、选中第一个数据透视表的数据源区域,点击“插入”→“数据透视表”。
2、在创建透视表时勾选“将此数据添加到数据模型”选项。
3、使用相同的数据模型创建其余的数据透视表。
4、基于该模型创建切片器后,即可通过上述方法将其关联到所有基于此模型的透视表。
三、使用VBA宏实现动态关联
对于复杂场景或需自动化处理的情况,可借助VBA代码批量设置切片器与多个数据透视表的连接关系,提高操作效率。
1、按Alt + F11打开VBA编辑器,插入新模块。
2、输入以下代码示例:
Sub ConnectSlicerToPivots()
Dim sc As SlicerCache
Set sc = ThisWorkbook.SlicerCaches(“Slicer_产品”)
sc.PivotTables.AddPivotTable ThisWorkbook.Sheets(“Sheet1”).PivotTables(“透视表1”)
sc.PivotTables.AddPivotTable ThisWorkbook.Sheets(“Sheet2”).PivotTables(“透视表2”)
End Sub
3、修改代码中的切片器名称和透视表名称为实际使用的名称。
4、运行宏,完成多个透视表的自动关联。