VBA数据透视表筛选器存在时

您好我正在使用Excel中的VBA来让我的filter在数据透视表中工作。 我在filter部分放了一个字段,只想勾选“账户发票”和“手动匹配”。 这是我的代码:

With wsPvtTbl.PivotTables("PivotTable1").PivotFields("Type") .PivotItems("Approve").Visible = False .PivotItems("Error").Visible = False .PivotItems("Interface Validation").Visible = False .PivotItems("Invoice Validation").Visible = False .PivotItems("Account Invoice").Visible = True .PivotItems("Manual Match").Visible = False End With 

问题出现了,因为有时源数据不包含任何“错误”项,因此当进入“.PivotItems(”Error“)。Visible = False时会出现错误”

有没有办法解决它? 非常感谢。

这会工作吗?

 .... On Error Resume Next .PivotItems("Error").Visible = False On Error Goto 0 .... 

On Error Resume Next将允许不存在的枢轴项目“错误”。 所以它是隐藏的, 如果它存在 。 之后, On Error Goto 0将重新build立正常的error handling,以避免跳过代码中的错误。

或者,您可以将这两个语句放在代码片段的开始和结尾处,以便任何不存在的枢轴项目都不会中断代码。