【问题标题】:Making multiple pivot items visible使多个枢轴项目可见
【发布时间】:2018-01-23 10:17:20
【问题描述】:

我想让一些枢轴项目可见而其他不可见。但问题是某些项目在数据透视字段中不可用。 GE、KG、KZ、MN、AZ、TM 国家将在下个月推出。

但我想创建一个代码。如果项目存在于数据透视字段中,那么它必须是可见的,否则它必须是不可见的。我该如何更改代码。帮帮我

Application.ScreenUpdating = False
      With ActiveSheet.PivotTables("MainTable").PivotFields("Country Code")
        For i = 1 To .PivotItems.Count
          .PivotItems(i).Visible = False
          .PivotItems("DE").Visible = True
        Next i
        .PivotItems("UA").Visible = True 'Available
        .PivotItems("BY").Visible = True 'Available
        .PivotItems("MD").Visible = True 'Available
        .PivotItems("GE").Visible = True 'Not available
        .PivotItems("KG").Visible = True 'Not available
        .PivotItems("KZ").Visible = True 'Not available
        .PivotItems("MN").Visible = True 'Not available
        .PivotItems("AZ").Visible = True 'Not available
        .PivotItems("TM").Visible = True 'Not available
        .PivotItems("DE").Visible = False
      End With
    Application.ScreenUpdating = True

【问题讨论】:

    标签: vba excel excel-2010 pivot-table


    【解决方案1】:

    我会这样做:

    Application.ScreenUpdating = False
    With ActiveSheet.PivotTables("MainTable").PivotFields("Country Code")
      For Each Pi In .PivotItems
        Pi.Visible = InStr(1, "UA,BY,MD,GE,KG,KZ,MN,AZ,TM", Pi.Name) > 0
      Next
    End With
    Application.ScreenUpdating = True
    

    与其指定PivotItem 名称列表以使其可见,不如扫描所有可用的PivotItem 名称并根据它们在字符串中的存在来设置它们的可见性。..

    【讨论】:

    • 谢谢。但是如果下个月有货,它是否适用于其他项目?
    • 如果他们在那个字符串中,那么是的,只要运行宏来重新设置可见性。
    • 此过程在 PivotItem 级别应用过滤器,一次一个。因此,每次运行此宏时,它都会检查当时可用的每个 PivotItem 并设置可见性(基于它在字符串中的存在)。显然,如果您出于其他原因想要清除过滤器,请执行此操作,但此宏不需要运行。
    • 如果您不确定@Deepak,请在您的表格中添加一些“虚拟”数据并测试您担心的不同场景。
    • 效率建议:一开始将.ManualUpdate设置为TRUE,完成后再设置为FALSE。否则,PivotTable 将在每个 PivotItem 的 Visible 状态更改后尝试更新。有关更多信息,请参阅我在 dailydoseofexcel.com/archives/2013/11/14/… 的帖子。
    猜你喜欢
    • 1970-01-01
    • 2018-11-27
    • 2022-10-12
    • 1970-01-01
    • 2014-06-14
    • 1970-01-01
    • 2012-09-23
    • 2011-06-26
    • 1970-01-01
    相关资源
    最近更新 更多