Excel “数据透视表”;不包含“;当您有多个变量时

Excel “数据透视表”;不包含“;当您有多个变量时,excel,vba,Excel,Vba,我基本上想包括透视表不包含的两个内容。在下面的代码中,它有Chev和Mac 我很高兴在Excel或VBA中这样做 ActiveSheet.PivotTables("PivotTable4").PivotFields("Traders Name"). _ ClearLabelFilters ActiveSheet.PivotTables("PivotTable4").PivotFields("Traders Name").PivotFilters _ .Add Type:=

我基本上想包括透视表不包含的两个内容。在下面的代码中,它有Chev和Mac

我很高兴在Excel或VBA中这样做

  ActiveSheet.PivotTables("PivotTable4").PivotFields("Traders Name"). _
      ClearLabelFilters
ActiveSheet.PivotTables("PivotTable4").PivotFields("Traders Name").PivotFilters _
    .Add Type:=xlCaptionDoesNotContain, Value1:="mac"
ActiveSheet.PivotTables("PivotTable4").PivotFields("Traders Name").PivotFilters _
    .Add Type:=xlCaptionDoesNotContain, Value1:="chev"

我知道我可以在我的原始数据源中添加一个额外的列,将那些包含我不需要的信息的列去掉,然后将其用作过滤器。但是,我想知道是否有更清洁的解决方案。

也许这会对解决同样问题的人有所帮助:

ActiveSheet.PivotTables("PivotTable4").PivotFields("Traders Name")
.PivotItems("mac").Visible = False
.PivotItems("chev").Visible = False

您不能直接使用筛选器,但您可以在VBA中通过简单的循环遍历数据透视项来完成,使用
Instr
测试每个数据透视项,以确保它不包含任何一个值,然后相应地设置
.Visible
属性。我在数据透视上也有一个前十名筛选器,这仍然有效吗?在同一领域,让我看看前十名?如果mac和chev数据将进入前10名,您是否希望将其包括在内?它们是相同的字段。如果他们在前十名中,我不想把他们包括在内。我想把它们拿出来,然后再装上十大过滤器。