Excel 使用单独工作表上的列表筛选透视表
我有一个pivot表,它的设置完全符合需要,但是ID列非常广泛,所以我希望有一个宏,可以轻松地只过滤我想要的pivot表的ID。我想做的是能够运行一个宏,它查看sheet2上的所有ID,并转到sheet1上的透视表,只显示这些ID 我一直在寻找其他类似的话题。但这些问题和解决方案要么不适用于我正在尝试做的事情,要么它们超出了我的想象,我甚至没有意识到代码中发生了什么。我最初的想法是记录一个宏,我会选择几个ID来查看代码的样子,然后将宏上的ID更改为sheet2上ID所在的单元格;这对我来说不起作用,所以我不确定这是一个好主意还是执行不力,或者我现在离底线太远了。但以下是我目前掌握的代码:Excel 使用单独工作表上的列表筛选透视表,excel,vba,filter,pivot-table,Excel,Vba,Filter,Pivot Table,我有一个pivot表,它的设置完全符合需要,但是ID列非常广泛,所以我希望有一个宏,可以轻松地只过滤我想要的pivot表的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
感谢您在这方面提供的帮助。下面是一个示例,说明如何在数据中使用帮助列,然后您可以根据这些列筛选数据透视表。不需要VBA。这是杰夫·威尔的一封信。