EXCEL VBA - 如果出现错误则跳过该行

EXCEL VBA - 如果出现错误则跳过该行

我有下面的查询,它基本上重置了表的标题,然后重置了几个切片器。

Sub ClearAll()
    Range("B12").Select
    ActiveSheet.ShowAllData
    ActiveWorkbook.SlicerCaches("Slicer_Return_Period").ClearManualFilter
    ActiveWorkbook.SlicerCaches("Slicer_Branch_Open").ClearManualFilter
    ActiveWorkbook.SlicerCaches("Slicer_Branch_RTN").ClearManualFilter
End Sub

如果在其中一个表中未选择任何内容,则下面一行将出现错误:

ActiveSheet.ShowAllData

如果出现错误,我该如何跳过此行并直接清除切片器?

答案1

这比我预想的要容易得多。

我可以添加以下行:

On Error Resume Next

其工作原理与 IFERROR 类似。

完整代码现在如下所示:

Sub ClearAll()
On Error Resume Next
    Range("B12").Select
    ActiveSheet.ShowAllData
On Error Goto 0
    ActiveWorkbook.SlicerCaches("Slicer_Return_Period").ClearManualFilter
    ActiveWorkbook.SlicerCaches("Slicer_Branch_Open").ClearManualFilter
    ActiveWorkbook.SlicerCaches("Slicer_Branch_RTN").ClearManualFilter
End Sub

相关内容