无法获取数据透视表类的PivotFields属性

时间:2013-08-23 17:34:53

标签: vba excel-vba field pivot-table excel

我正在尝试创建一个更改几个数据透视表(不是全部)的过滤器的宏,但我在PivotFields上出现错误,这是我的代码示例:

Sheets("Sheet1").PivotTables("PivotTable" & pivot_counter).PivotFields( _
"[year].[year].[year]").VisibleItemList = Array("")

我的问题是:

1-为什么我们在使用VisibleItemList时使用PivotFields(“[year]。[year]。[year]”)?为什么我们必须重复它,它的含义是什么,在任何地方都无法解决它。

2-这段代码有什么问题?我的数据透视表有一个名为“year”的字段,过滤器设置为特定年份(比如说2013年),我希望它在所有可能的年份都有所改变。

1 个答案:

答案 0 :(得分:0)

Sub Tester()
    ShowAll ActiveSheet.PivotTables("PivotTable1").PivotFields("Year")
End Sub


Sub ShowAll(pf As PivotField)
    Dim pi As PivotItem
    Application.ScreenUpdating = False
    For Each pi In pf.PivotItems
        pi.Visible = True
    Next pi
    Application.ScreenUpdating = True
End Sub