【发布时间】:2012-12-08 04:00:53
【问题描述】:
我正在尝试创建一个用户友好的数据透视表控件。我设置了多个宏来控制数据透视表,如下所示:
Sub FilterA()
ActiveSheet.PivotTables("PivotTable2").PivotFields("A").CurrentPage = "TRUE"
ActiveSheet.PivotTables("PivotTable2").PivotFields("B").CurrentPage = "(All)"
ActiveSheet.PivotTables("PivotTable2").PivotFields("C").CurrentPage = "(All)"
ActiveSheet.PivotTables("PivotTable2").PivotFields("D").CurrentPage = "(All)"
ActiveSheet.PivotTables("PivotTable2").PivotFields("E").CurrentPage = "(All)"
ActiveSheet.PivotTables("PivotTable2").PivotFields("F").CurrentPage = "(All)"
End Sub
Sub FilterB()
ActiveSheet.PivotTables("PivotTable2").PivotFields("A").CurrentPage = "(All)"
ActiveSheet.PivotTables("PivotTable2").PivotFields("B").CurrentPage = "TRUE"
ActiveSheet.PivotTables("PivotTable2").PivotFields("C").CurrentPage = "(All)"
ActiveSheet.PivotTables("PivotTable2").PivotFields("D").CurrentPage = "(All)"
ActiveSheet.PivotTables("PivotTable2").PivotFields("E").CurrentPage = "(All)"
ActiveSheet.PivotTables("PivotTable2").PivotFields("F").CurrentPage = "(All)"
End Sub
等等……
我想要做的是能够将这些附加到复选框,但能够为多个过滤器勾选多个框。 (例如 A 和 C)我意识到我不能使用上面的方法做到这一点。我有什么办法吗?我觉得我错过了什么。请记住,我对 vba 不是很精通。
谢谢!
【问题讨论】:
-
您可以使用复选框
OnAction方法在单击时运行宏。或者,您可以遍历代码中的复选框,如果值为True,则应用某个过滤器。 -
您好,感谢您的回复。我对 vba 相当缺乏经验,但我会根据您的建议尝试寻找更多信息。
-
如果您使用的是 Excel 2010,您应该看看切片器。不需要 VBA。