使用宏过滤数据透视表

时间:2017-10-31 21:42:18

标签: excel vba excel-vba

我在数据透视表上放了一个过滤器。我编写了一个代码,用于过滤(删除)值小于0的条目。我想用" 0"删除数据条目。还有空白。以下是我的代码,用于过滤以" - "开头的条目标志。请建议我如何过滤" 0"和空白。

Dim i As Integer
With ActiveSheet.PivotTables("PivotTable1").PivotFields("Short Quantity")
    For i = 1 To .PivotItems.Count
           If Left(.PivotItems(i), Len("-")) = "-" Then
            .PivotItems(i).Visible = False
        Else
            .PivotItems(i).Visible = True
        End If

    Next i
End With

2 个答案:

答案 0 :(得分:1)

尝试:

Dim i As Integer
With ActiveSheet.PivotTables("PivotTable1").PivotFields("Short Quantity")
    For i = 1 To .PivotItems.Count
        If Left(.PivotItems(i), Len("-")) = "-" Or _
                .PivotItems(i) = "(blank)" Or _
                .PivotItems(i) = 0 Then
            .PivotItems(i).Visible = False
        Else
            .PivotItems(i).Visible = True
        End If

    Next i
End With

答案 1 :(得分:0)

所以你只想在数据透视中显示正数?如果将“短数量”字段作为“值”字段和行字段放入枢轴中,则可以在字段上放置“值”过滤器以抑制低于零的任何值,这也会抑制空白:

在:

enter image description here

应用VALUES过滤器:

enter image description here

后:

enter image description here

相关问题