如何在Excel数据透视表中使用VBA筛选列标签

时间:2017-11-08 00:22:38

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

在Excel中,我可以使用以下代码过滤数据透视表中的行标签:

Dim PT as PivotTable
Set PT = ActiveSheet.PivotTables("Pivot1")
With PT
   .ManualUpdate=True
   .ClearAllFiters
   .PivotFields("App").PivotFilters.Add Type:=xlCaptionDoesNotContain, Value1:="(Blank)" 
End With

我需要对我的字段名称为Type的列标签执行相同的过滤 我厌倦了这个:

Dim PT as PivotTable
Set PT = ActiveSheet.PivotTables("Pivot1")
With PT
   .ManualUpdate=True
   .ClearAllFiters
   .PivotFields("App").PivotFilters.Add Type:=xlCaptionDoesNotContain, Value1:="(Blank)" 
   .PivotFields("Type").PivotFilters.Add Type:=xlCaptionDoesNotContain, Value1:="(Blank)" 

End With

然而,我遇到错误,“无法获取数据透视表类的PivotFields属性”,当它到达下面一行时:

.PivotFields("Type").PivotFilters.Add Type:=xlCaptionDoesNotContain, Value1:="(Blank)" 

我使用什么语法来过滤列标签?

1 个答案:

答案 0 :(得分:0)

这种语法没有任何问题,我可以说。你确定你的名字是对的吗?检查的最佳方法是启动宏录制器,手动执行操作,并查看生成的代码的样子。

另请注意,完成后需要设置.ManualUpdate = False,否则您的数据透视表在完成后不会更新。