VBA透视表筛选子程序

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

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) '全部选中

Call 透视筛选("储位编码", Array("AA52"), True)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...
    土汪阅读 12,782评论 0 33
  • 1.1 VBA是什么 直到90年代早期,使应用程序自动化还是充满挑战性的领域.对每个需要自动化的应用程序,人们不得...
    浮浮尘尘阅读 21,874评论 6 49
  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 11,215评论 6 13
  • 文/松烟袅袅 查四级成绩的时候,生理期肚子疼得要死。手心一直在冒汗,心跳加速如鼓捶。最后成绩出来了,没过。 计算机...
    松烟袅袅阅读 581评论 26 11
  • 好想再回到学堂 听同学们朗朗上口的读书声 好想再回到学堂 望望窗外操场上热情洋溢的踢球的同学们 好想再回到学堂 和...
    夏天lzz阅读 363评论 4 3