VBA将透视滤镜设置为单个select

从今天早些时候解决了我原来的问题 – 现在我有工作代码,没有像我想要的那样产生完美的结果。 简而言之,我循环遍历所有表单,并将所有要被过滤的枢轴设置为单个值。 我不想要多个值,除非filter被清除并显示一切。 我的代码如下所示,显示所需的数据,但透视图上的filter本身显示为多个值(选中一个值)。 我怎样才能得到它作为一个单一的select,并显示在枢轴filter单一的价值?

Sub Loop_Complex_bkup() Dim wks As Worksheet, strName As String, pvt As PivotTable, strPvtName As String For Each wks In Worksheets strName = wks.Name For Each pvt In wks.PivotTables strPvtName = pvt.Name With Sheets(strName).PivotTables(strPvtName).PivotFields("OrderSubType") .ClearAllFilters For Each PivotItem In .PivotItems If PivotItem = "Complex" Then PivotItem.Visible = True If PivotItem <> "Complex" Then PivotItem.Visible = False Next End With Next Next Set wks = Nothing Set pvt = Nothing End Sub 

您正在查找的命令是.EnableMultiplePageItems。 如果我正确地理解了这个问题,这就是你正在寻找的东西:

  With Sheets(strName).PivotTables(strPvtName).PivotFields("OrderSubType") .ClearAllFilters .EnableMultiplePageItems = False