数据透视字段显示除空白以外的所有内容

时间:2018-07-10 14:39:19

标签: excel vba excel-vba pivot-table

刷新后,我需要更新数据透视滤镜以选择除blank之外的所有滤镜选项。
此处的其他答案使用.ShowAllItems方法对我不起作用,因为它也将显示没有数据的项目(显示下的数据透视选项)。

我尝试使用在另一个问题.PivotItems("(All)").Visible = True上找到的另一种解决方案,然后删除空格,但这无济于事。

如何修改“数据透视字段” Activity Name,以检查除空白以外的所有项目?

Sub PivotRefresh()

Dim ws As Worksheet
Dim pvt As PivotTable

Application.ScreenUpdating = False
ThisWorkbook.RefreshAll
Application.Calculation = xlCalculationManual
    For Each ws In Worksheets
        If ws.Name = "OC" Or ws.Name = "P2" Then
            For Each pvt In ws.PivotTables
                On Error Resume Next
                    pvt.PivotFields("Exclude").PivotItems("Yes").Visible = False
                    pvt.PivotFields("Activity Name").PivotItems("(All)").Visible = True
                    pvt.PivotFields("Activity Name").PivotItems("(blank)").Visible = False
                On Error GoTo 0
            Next pvt
        End If
        ws.Range("A:W").EntireColumn.AutoFit
    Next ws
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic

End Sub

1 个答案:

答案 0 :(得分:3)

当我必须这样做时,我只使用类似这样的东西:

On Error Resume Next
With pvt
        .ClearAllFilters
        .PivotItems("(blank)").Visible = False
End With