在Excel VBA中,筛选数据透视表的行字段有两种方法。
方法一:使用PivotFilters属性筛选行字段
pt
。
Dim pt As PivotTable
Set pt = ActiveSheet.PivotTables(1)
定义一个行字段对象,rowField
。
Dim rowField As PivotField
Set rowField = pt.PivotFields("行字段名称")
使用下面的代码来过滤行字段的一个或多个选项。
Dim filterItem As PivotItem
For Each filterItem In rowField.PivotItems
If filterItem.Name <> "需要保留的选项名称" Then
filterItem.Visible = False
End If
Next filterItem
方法二:使用AutoFilter方法筛选行字段
在PivotTable对象上应用AutoFilter
方法,就可以使用常规Excel自动筛选器来调整数据透视表中的行选项。
pt.PivotFields("行字段名称").AutoSort xlAscending, "行字段排序依据"
pt.PivotFields("行字段名称").AutoFilter _
Field:=1, _
Criteria1:="需要保留的选项名称", _
VisibleDropDown:=False
这两种方法都可以让你很方便的过滤行字段中的选项。但第一种方法更直接也更灵活;第二种方法更适合那些想要将数据透视表看作一个传统Excel数据集的用户。