0

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

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

我的问题是:

1- 为什么我们在使用 VisibleItemList 时使用 PivotFields("[year].[year].[year]")?为什么我们必须重复它,它的含义是什么,在任何地方都没有任何关于它的信息。

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

4

1 回答 1

1
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
于 2013-08-23T18:04:08.657 回答