过滤“(空白)”条目的pivottable的行字段的最有效方法

时间:2016-08-10 22:30:02

标签: excel excel-vba vba

我正在寻找最有效的方法(最少代码)来过滤“(空白)”条目的pivottable的行字段。我知道如何使用.CurrentPage方法设置PageField / Report Filter(希望我在这里说的正确):

ActiveSheet.PivotTables("PivotTable1").PivotFields("Some Field").CurrentPage = "Something"

对我而言,这是有效的,但这仅适用于PageField而非RowFields。我也知道将PivotItems.Visible属性设置为'True'或'False'的循环选项:

With ActiveSheet.PivotTables("PivotTable1").PivotFields("Some Field")
    For each PvtItm in .PivotItems
        If pvtItm.Value = "(blank)" Then
            PvtItm.Visible = True
        Else
            PvtItm.Visible = False
        End If
End With

这适用于RowFields,但是有一些额外的行。我可以使用这个,但我只是好奇,如果有更短的方法。另外,我只想看“(空白)”条目,所以如果我需要设置不同的方式然后使用=“(空白)”我会有兴趣知道要使用什么。任何建议将不胜感激!

1 个答案:

答案 0 :(得分:0)

如果您使用标签过滤器记录过滤行标签的宏>等于......你会得到像

这样的东西
ActiveSheet.PivotTables("PivotTable1").PivotFields("Some Field") _
    .PivotFilters.Add Type:=xlCaptionEquals, Value1:="(blank)" ' or maybe Value1:="" ?