无论我的ivotItems的值/更改如何,将“数据透视”字段“公司代码”始终设置为True(可见)

时间:2019-01-22 13:25:30

标签: excel vba pivot-table

我有一个用于处理数据透视表的小宏,无论我的数据透视表的值如何,我都希望将与公司代码相关的字段数据透视表始终设置为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

1 个答案:

答案 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