龙空技术网

使用VBA代码控制数据透视表筛选项

MrHE的数据分析笔记 412

前言:

而今姐妹们对“数据透视表增加筛选器怎么设置”大约比较重视,大家都想要知道一些“数据透视表增加筛选器怎么设置”的相关文章。那么小编在网摘上收集了一些关于“数据透视表增加筛选器怎么设置””的相关内容,希望看官们能喜欢,我们一起来学习一下吧!

Excel2010及之后的版本支持切片器,能同时操控多个数据透视表,实现数据的同步变动。而之前的版本如何达到这样的效果呢?用VBA代码控制多个数据透视表的筛选项可以达到类似的效果。

如下图:有两个数据透视表(源数据相同),筛选字段均有“地区”。通过在H2单元格输入不同的“地区”,两个透视表同步变动。

一、进入VBA编码界面

右键单击工作表名称,选择[查看代码],进入VBA编码界面。

二、编写VBA代码

输入以下代码

Private Sub worksheet_change(ByVal target As Range)	Dim xPTable1 As PivotTable, xPTable2 As PivotTable	Dim xPFile11 As PivotField, xPFile21 As PivotField	Dim xStr As String	On Error Resume Next	If Intersect(target, Range("H2")) Is Nothing Then		Exit Sub	End If	Application.ScreenUpdating = False	Set xPTable1 = Worksheets("透视筛选").PivotTables("数据透视表1")	Set xPFile11 = xPTable1.PivotFields("地区")	Set xPTable2 = Worksheets("透视筛选").PivotTables("数据透视表2")	Set xPFile21 = xPTable2.PivotFields("地区")	xStr = target.Text	xPFile11.ClearAllFilters	xPFile11.CurrentPage = xStr	xPFile21.ClearAllFilters	xPFile21.CurrentPage = xStr	Application.ScreenUpdating = TrueEnd Sub

代码说明:

①通过以下代码确定透视表及筛选字段:

②通过以下代码为筛选字段赋予新值,注意需先清除所有筛选内容。

当调整H2的内容时,透视表则跟着变动。比如,将H2的内容改为“四川省”,则可以看到两个透视表的筛选项同步变动。

三、为控制值添加下拉列表

便于快速更改筛选内容、也避免手工录入时出现错误,可以为H2单元格添加下拉列表(源数据中的“字段”列)。

单击菜单栏[数据]=>[数据工具]=>[数据验证]。

在“数据验证”界面,按以下设置:

[允许]选择为“序列”

[来源]选择数据区域M5:M35(该数据区域是以相同源数据新建的透视表,只将“地区”字段添加[行标签])。

标签: #数据透视表增加筛选器怎么设置 #数据透视表设置筛选条件