首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用VBA从数据透视表筛选器中删除项

使用VBA从数据透视表筛选器中删除项
EN

Stack Overflow用户
提问于 2018-06-08 14:31:54
回答 1查看 2.2K关注 0票数 0

我试图删除枢轴表中大于或等于9000的值。我使用的是VBA代码,我可以从UOM过滤器中删除值,但我也需要从OpAc过滤器中删除9000或更高的值。

代码语言:javascript
复制
ActiveSheet.PivotTables("Pivot ZP2P").PivotFields("UOM").CurrentPage = "(All)"
With ActiveSheet.PivotTables("Pivot ZP2P").PivotFields("UOM")
    .PivotItems("""").Visible = False
    .PivotItems("""2").Visible = False
    .PivotItems("EA").Visible = False
    .PivotItems("FOZ").Visible = False
    .PivotItems("ML").Visible = False
    .PivotItems("TU").Visible = False
End With
ActiveSheet.PivotTables("Pivot ZP2P").PivotFields("UOM"). _
    EnableMultiplePageItems = True
With ActiveSheet.PivotTables("Pivot ZP2P").PivotFields("OpAc")
    .Orientation = xlPageField
    .Position = 1
    .PivotItems("9" & "*").Visible = False
End With

如您所见,我尝试使用通配符9*删除项,并将9和*连接为字符串。我不确定是否正确地删除了>= 9000值。

EN

Stack Overflow用户

回答已采纳

发布于 2018-06-12 20:04:24

这个问题已经解决了。若要删除9000中的项,请使用以下代码:

代码语言:javascript
复制
With ActiveSheet.PivotTables("Pivot ZP2P").PivotFields("OpAc")
    .Orientation = xlPageField
    .Position = 1
End With
ActiveSheet.PivotTables("Pivot ZP2P").PivotFields("OpAc").CurrentPage = "(All)"
With ActiveSheet.PivotTables("Pivot ZP2P").PivotFields("OpAc")
        For o = 1 To .PivotItems.Count
        With .PivotItems(o)
            If .Name Like ("9*") Then
                .Visible = False
            Else
                .Visible = True
            End If
        End With
    Next o
End With
ActiveSheet.PivotTables("Pivot ZP2P").PivotFields("OpAc"). _
    EnableMultiplePageItems = True
票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50762909

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档