2

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

我正在尝试过滤从 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

提前致谢

4

2 回答 2

1

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

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

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

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

于 2013-05-15T18:08:05.073 回答
0

你可以尝试这样的事情:

dim pvItem as pivotitem 
For Each pvtitem In Sheets("SideCalculations-KPIs").PivotTables("PivotTable1").PivotItems
    if (pvitem.name="5" or pvitem.name="10") then
        pvitem.visible=true
    else
        pvitem.visible=false
    end if
Next 
于 2013-05-15T14:37:29.873 回答