【发布时间】:2019-01-15 17:20:22
【问题描述】:
我的组织有大约 100 个部门。这些是我的数据透视表中的行。我每周使用 VBA 在新的数据转储上创建一个新的数据透视表。我的问题是一年几次删除或添加新的部门。我当前的数据透视表仅使用 15 个部门,但我的代码受到所有约 100 个部门的影响。 (我下面的代码只显示了一部分以节省空间)
我已经尝试在网上搜索了几个小时,并使用了比我目前使用的更好的解决方案的宏记录器。
With ActiveSheet.PivotTables("PivotTable1").PivotFields("Flex Division - Text")
.PivotItems("03").Visible = False
.PivotItems("04").Visible = False
.PivotItems("05").Visible = False
.PivotItems("07").Visible = False
.PivotItems("1A").Visible = False
.PivotItems("1B").Visible = False
.PivotItems("1C").Visible = False
.PivotItems("1F").Visible = False
.PivotItems("1G").Visible = False
.PivotItems("1J").Visible = False
.PivotItems("1K").Visible = False
.PivotItems("(blank)").Visible = False
End With
上面的代码过滤掉了不使用的分区。我想做相反的事情。我想取消过滤所有部门,然后重新添加我使用的部门。这将避免将来的代码调整。
【问题讨论】:
-
“unfilter”是什么意思?让它们全部可见还是全部隐藏?
-
全部隐藏。所以什么都看不到,然后添加回所需的分区。
-
@MattLane 查看我在stackoverflow.com/questions/45718045/… 的答案,它有一个快速高效的代码示例来执行此操作。
标签: excel vba pivot-table