VBA透视表筛选子程序

2018-06-26 17:19:41 浏览数 (1)

Sub 透视筛选(pf, pv, v)

代码语言:javascript复制
With ActiveSheet.PivotTables("数据透视表1").PivotFields(pf)
    .EnableMultiplePageItems = True
    For Each pii In .PivotItems '全部选中以免出现全不选错误
        pii.Visible = True
    Next
    For Each pii In .PivotItems
        If IsError(Application.Match(pii.Name, pv, 0)) Then
            pii.Visible = Not (v) '不存在
        Else
            pii.Visible = v '存在
        End If
    Next
End With

End Sub

调用例子: Call 透视筛选("层数", Array("all"), False) '全部选中

代码语言:javascript复制
Call 透视筛选("储位编码", Array("AA52"), True)
vba

0 人点赞