excelmacrosvba使用通配符过滤

我需要过滤的枢纽。 我需要取消select以“A”开头的所有项目。 和“H”。 并保持一切select。

(3-13个字符)B.(3-13个字符)一直到Z.(3-13个字符)

原始数据也在50-500行之间变化(我今天只能有50行的数据 – 明天我可能会有500多行)

我目前的代码工作:(通过input所有可能的项目出现在该列 – 大约300多项)其长,但它的作品。 最近我已经得到更多的项目添加到列表,我知道我们可以使用通配符。

[MY CURRENT CODE] ActiveSheet.PivotTables("PivotTable1").PivotFields("column").ClearAllFilters ActiveSheet.PivotTables("PivotTable1").PivotFields("column"). _ EnableMultiplePageItems = False With ActiveSheet.PivotTables("PivotTable1").PivotFields("column") .PivotItems(" PLACE ITEM HERE ").Visible = False .PivotItems .PivotItems .PivotItems [repeat over 300 times - changing the " PLACE ITEM HERE " with the items on the column] End With 

我可以减less300多行,只有5-10行,我正在考虑像(下)这样也会解决我的问题有新的项目,还没有在我的名单上:

 ActiveSheet.PivotTables("PivotTable1").PivotFields("column").ClearAllFilters ActiveSheet.PivotTables("PivotTable1").PivotFields("column"). _ EnableMultiplePageItems = False With ActiveSheet.PivotTables("PivotTable1").PivotFields("column") .PivotItems("A.*").Visible = False .PivotItems("H.*").Visible = False End With 

但是这不起作用

尝试这个:

 With ActiveCell.PivotTable.PivotFields("Column") For i = 1 To .PivotItems.Count If .PivotItems(i).Name like "A.*" or .PivotItems(i).Name like "H.*" Then .PivotItems(i).Visible = True else .PivotItems(i).Visible = False End If Next i End With