CubeField? 在透视表上设置filter值

我有一个与多个macros的Excel文件。 在这个文件中,有一个名为“Customer”的数据透视表,其中包含几个元素(数千)。 我想知道的是,是否有任何有效的方法来设置此列的filter到特定的值?

我问的原因是因为电子表格会要求用户select一些客户,这些客户存储在一个数组中,我想要取这个数组中的值,并相应地过滤数据透视表。

我能够通过循环透视所有项目的数据透视表,使他们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。

任何帮助让我走向正确的方向将受到高度赞赏。 此外,请注意,我不打算只将filter设置为1,我已经能够做到这一点,没有任何问题,这里的问题是一次select多个值,没有循环尽pipe所有可能的值可能是select。

select数据透视表后,在顶部菜单中,转至“数据透视表工具”,然后select“选项”,然后从function区中select“插入切片机”。 此function可以满足您的要求 – 让您轻松selectfilter(一次一个或多个filter),然后查看数据透视表的不同结果。