excel - 立方体场?在数据透视表上设置过滤器值

标签 excel vba pivot-table

我有一个包含多个宏的 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/

相关文章:

excel - CSV的最佳时间跨度(时差)格式

excel - 如何按功能选择单元格

vba - 以五秒为间隔发送电子邮件

vba - 如何在表单控件中选择 ActiveX 选项/单选按钮

php - 在 Laravel 的 Eloquent 中删除额外的枢轴对象

vba - 如何将 Excel 文件作为任务或作业运行?

excel - VBA 代码不一致地导致 Excel 崩溃(运行时错误 80010108)

c# - 通过Excel表格计算

excel - Excel 数据透视表中按 "Grand Total"列排序?

sql - Postgres 列到行