我有一个用于处理数据透视表的小宏,无论我的数据透视表的值如何,我都希望将与公司代码相关的字段数据透视表始终设置为true(可见)。下面的代码仅适用于数据透视项X,Y,X1,X2,Y2,Y4和“空白”。但是,如果我想在更改数据透视项时使用此宏,则此宏将无法工作...我想扩大我的宏为了在我的ivotItems的值更改时也能工作,这意味着无论我的PivotItems的更改如何,我的所有Pivotfields(“公司代码”)值都应始终设置为true可见。 如果有人可以帮助我,那将是超级好。 提前致谢。 哈维
Sub Activateallcompanycodefield()
ActiveSheet.PivotTables("PivotTable2").PivotFields("Company Code").CurrentPage _
= "(All)"
With ActiveSheet.PivotTables("PivotTable2").PivotFields("Company Code")
.PivotItems("X").Visible = True
.PivotItems("Y").Visible = True
.PivotItems("X1").Visible = True
.PivotItems("X2").Visible = True
.PivotItems("Y2").Visible = True
.PivotItems("Y4").Visible = True
.PivotItems("(blank)").Visible = True
End With
End Sub
答案 0 :(得分:0)
最后,我通过此链接找到了答复: PivotTable how to set all items in filter to false?
所以我的问题解决了!我刚刚将其更新为我的VBA代码,如下所示:
With ActiveSheet.PivotTables("PivotTable2").PivotFields("Company Code")
For i = 1 To .PivotItems.Count - 1
.PivotItems(.PivotItems(i).Name).Visible = True
Next i
End With