快速删除满足某些特定条件的行
思路:利用Range.SpecialCells()方法定位到满足特定条件的range,然后删除这些range所在的行.
代码如下:
'删除特定的行的代码
Sub Rows_To_delete()
Dim Rng1 As Range, Rng2 As Range
Set Rng1 = Range("D15:D23") 'Rng1: 可能要删除行的区域,一般选单独的一列
'*********************
'注意:使用on error resume next的原因是
'SpecialCells可能不返回range(当没有满足条件的range时)
'此时会报1004的runtime error,故需要捕获和处理该error
'*********************
On Error Resume Next
Set Rng2 = Rng1.SpecialCells(xlCellTypeConstants, 2) 'Rng2: Rng1区域中,满足特定条件的区域(如本例中是 值为常量文本的区域)
If Err.Number > 0 Then
Debug.Print "err.num = " & Err.Number
Debug.Print Err.Description
Else
Rng2.EntireRow.Delete '删除这些区域所在的行
End If
On Error GoTo 0
End Sub

浙公网安备 33010602011771号