1
Excel VBA中是否有方法允许在数据透视表中使用多个值过滤器?我试图过滤> 0和底部十个项目的值。在下面的示例代码中(通过录制宏生成),第二个过滤步骤覆盖第一个。如果支持多个值过滤器,似乎我只需要在这两个表达式之间添加布尔逻辑AND即可获得两个过滤器的结果。请建议对代码进行任何更改,或者让我知道是否不支持。谢谢!Excel VBA - 具有多值过滤器的数据透视表
Sub Multiple_Value_Filters()
ActiveSheet.PivotTables("PivotTable1").PivotFields("Full Name").PivotFilters.Add _
Type:=xlValueIsGreaterThan, _
DataField:=ActiveSheet.PivotTables("PivotTable1").PivotFields("Days"), _
Value1:=0
ActiveSheet.PivotTables("PivotTable1").PivotFields("Full Name").ClearAllFilters
ActiveSheet.PivotTables("PivotTable1").PivotFields("Full Name").PivotFilters.Add _
Type:=xlBottomCount, _
DataField:=ActiveSheet.PivotTables("PivotTable1").PivotFields("Days"), _
Value1:=10
End Sub
感谢您的回应!这段代码看起来非常接近。但是当我运行它,我得到运行时错误1004应用程序定义或对象定义的错误。当我点击调试时,第二个.PivotFilters语句突出显示。并从结果被过滤的方式,我可以告诉只有第一个.PivotFilters语句运行。感谢您的任何建议! – 2014-10-08 12:41:07
你能提供一个数据源表的例子吗?列名称/数据类型。样本数据? – Archias 2014-10-08 14:47:04
感谢您的帮助!这是一个链接,用于下载数据源表并查看代码如何与数据透视表一起工作。 https://www.dropbox.com/s/bvfypep0xlfcdzw/Pivot%20Table%20Test.xlsm?dl=0 – 2014-10-08 18:24:45