我有一个包含多个宏的 excel 文件。在此文件中有一个数据透视表,其中包含一个名为“客户”的列,其中包含几个元素(数千个)。我想知道的是,是否有任何有效的方法可以将此列的过滤器设置为特定值?
我问的原因是因为电子表格会要求用户选择一些存储在数组中的客户,我想取这个数组中的值并相应地过滤数据透视表。
我可以通过在所有项目中循环数据透视表来做到这一点,使它们 visible = false
,然后制作那些被选中的,visible = true
.但是,这种方法的问题是需要花费大量时间来处理。
我在使用 CubeField
的人的网络中看到了一些示例。选项,但是,我不确定如何使用它?语法有点复杂,我尝试了以下方法,但它给了我一个错误:
Worksheets("Analysis").PivotTables("PivotTable1").PivotFields("Supplier_Code").ClearAllFilters
Worksheets("Analysis").PivotTables("PivotTable1").PivotFields("Supplier_Code").CubeField.EnableMultiplePageItems = True
Set pt = Worksheets("Analysis").PivotTables("PivotTable1")
With PT
pt.PivotFields("[PivotTable1].[Supplier_Code]").VisibleItemsList = Array("[PivotTable1].[Supplier_Code].&[106214]", "[PivotTable1].[Supplier_Code].&[101160]") ' ===>
这里我没有使用数组值,只是尝试直接设置客户,1个供应商代码是106214,另一个是101160。
任何帮助我走向正确方向的帮助都将受到高度赞赏。另外,请注意,我不希望仅将过滤器设置为 1 项,我已经能够做到这一点而没有任何问题,这里的问题是一次选择多个值,而不是循环所有可能的值选择。
最佳答案
选择数据透视表后,在顶部菜单中,转到“数据透视表工具”,然后转到“选项”,然后从功能区中选择“插入切片器”。此功能可以满足您的需求——让您轻松选择过滤器(一次一个或多个),并查看数据透视表的不同结果。
关于excel - 立方体场?在数据透视表上设置过滤器值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26595765/