我有以下代码,尝试运行“找不到单元格”时出现错误。
这是因为有时过滤后我没有结果。
Worksheets("DATA").Activate
Worksheets("DATA").AutoFilterMode = False
If Not ActiveSheet.AutoFilterMode Then
ActiveSheet.Range("A1").AutoFilter
End If
Selection.AutoFilter Field:=95, Criteria1:=Array("ABC", "DEF", "GHI"), Operator:=xlFilterValues
ActiveSheet.Range("2:" & ActiveSheet.UsedRange.Rows.Count).SpecialCells(xlCellTypeVisible).Select
Selection.Delete Shift:=xlUp
Selection.AutoFilter
如果自动过滤器未返回任何结果,我希望有一个代码告诉您忽略该代码。
任何想法该怎么做?谢谢!
答案 0 :(得分:0)
这可以做到:
Worksheets("DATA").Activate
Worksheets("DATA").AutoFilterMode = False
If Not ActiveSheet.AutoFilterMode Then
ActiveSheet.Range("A1").AutoFilter
End If
Selection.AutoFilter Field:=95, Criteria1:=Array("ABC", "DEF", "GHI"), Operator:=xlFilterValues
If ActiveSheet.UsedRange.SpecialCells(xlCellTypeVisible).Rows.Count > 1 Then
ActiveSheet.Range("2:" & ActiveSheet.UsedRange.Rows.Count).SpecialCells(xlCellTypeVisible).Select
Selection.Delete Shift:=xlUp
Selection.AutoFilter
End If
答案 1 :(得分:0)
您可以忽略该错误:
Worksheets("DATA").Activate
Worksheets("DATA").AutoFilterMode = False
If Not ActiveSheet.AutoFilterMode Then
ActiveSheet.Range("A1").AutoFilter
End If
Selection.AutoFilter Field:=95, Criteria1:=Array("ABC", "DEF", "GHI"), Operator:=xlFilterValues
On Error Resume Next
ActiveSheet.Range("2:" & ActiveSheet.UsedRange.Rows.Count).SpecialCells(xlCellTypeVisible).Select
Selection.Delete Shift:=xlUp
Selection.AutoFilter
On Error GoTo 0