我搜索了很多论坛,但仍未找到答案:
我正在尝试过滤我的行标签,该标签从1到10不等,只显示5和10。
我编写了以下代码,但它产生错误1004“无法获取数据透视表类的PivotFields属性”。
ActiveWorkbook.Sheets("SideCalculations-KPIs").Activate
With ActiveSheet.PivotTables("PivotTable1").PivotFields("ToStateId")
.ClearAllFilters
.PivotItems("5").Visible = True
.PivotItems("10").Visible = True
End With
提前致谢
答案 0 :(得分:1)
错误中明确提到,数据透视表的名称不正确。
可能是“Pivot字段的名称”已从“ToStateId”更改。为了找到合适的名称,请运行以下代码:
For each pField in ActiveSheet.PivotTables("PivotTable1").PivotFields
Debug.Print pField.Name
Next pField
转到VBA编辑器,按Ctrl + G,它将打开即时窗口。它将显示所有可用的数据透视字段。然后请使用正确的数据透视字段并尝试。
答案 1 :(得分: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