透视表过滤器使用单独工作表上的列表

时间:2014-06-30 00:25:29

标签: excel vba filter pivot-table

我有一个数据透视表,确切地说它是如何设置的,但是ID列非常广泛,所以我希望有一个宏可以轻松过滤我想要的数据透视表的ID。我想要做的是能够运行一个宏,它查看我在sheet2上的所有ID,并转到我在sheet1上的数据透视表,只显示这些ID。

我一直在寻找其他类似主题。但无论是那些问题和解决方案都不适用于我想要做的事情,或者他们在我的头脑中,我甚至没有意识到代码中发生了什么。我最初的想法是记录一个宏,我会选择一些ID来查看代码的样子,然后将宏上的ID更改为sheet2上我的ID所在的单元格;这对我不起作用,所以我不确定这是一个好主意和糟糕的执行,还是我现在离基地不远。但这是我到目前为止的代码:

Sub report_filter_macro()
'
' report_filter_macro Macro
' filter only the IDs desired

    ActiveSheet.PivotTables("my_pivot").PivotFields("IDs").CurrentPage = _
        "(All)"
    With ActiveSheet.PivotTables("my_pivot").PivotFields("IDs")
        .PivotItems("000022").Visible = False ' does not show ID 000022 in the pivot table
        .PivotItems("000011").Visible = False ' does not show ID 000011 in the pivot table
    End With
    ActiveSheet.PivotTables("my_pivot").PivotFields("IDs"). _
        EnableMultiplePageItems = True ' allows multiple filters
End Sub

感谢您对此提供任何帮助。

0 个答案:

没有答案