excel - 使用vba过滤数据透视表中的行标签

标签 excel powerpivot vba

我搜索了很多论坛,但仍然没有找到答案:

我正在尝试过滤从 1 到 10 的行标签,以便只显示 5 和 10。

我编写了以下代码,但它产生错误 1004“无法获取 PivotTable 类的 PivotFields 属性”。

ActiveWorkbook.Sheets("SideCalculations-KPIs").Activate
With ActiveSheet.PivotTables("PivotTable1").PivotFields("ToStateId")
    .ClearAllFilters
    .PivotItems("5").Visible = True
    .PivotItems("10").Visible = True
End With

提前致谢

最佳答案

错误中明确提到,PivotField的名称不正确。

可能是透视字段的名称已从“ToStateId”更改。为了找到合适的名称,请运行以下代码:

For each pField in ActiveSheet.PivotTables("PivotTable1").PivotFields
     Debug.Print pField.Name
Next pField

转到 VBA 编辑器,按 Ctrl+G,它将打开即时窗口。它将显示所有可用的数据透视字段。然后请使用正确的数据透视字段并尝试。

关于excel - 使用vba过滤数据透视表中的行标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16567604/

相关文章:

python - 如何在 Azure 中执行运行 Excel 实例并每天触发 VBA 的 Python 脚本

vba - 执行循环时条件函数上的应用程序定义或对象定义的错误

excel - DAX 筛选器上下文

excel - MS Access 2003 - Access 表单上嵌入的 Excel 电子表格

javascript - 下载为 Microsoft Excel 时,Google Script 中的自定义函数不起作用

excel - 删除所有具有自动填充值的行

vba - 名称几乎相同的工作表

vba - 迭代集合 (VBA)

excel - 使用 Excel 数据透视表或 Power Pivot 将多个变量转换为值

odata - PowerPivot 何时支持 OData 中的自动关系?