思路:利用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 0End Sub
回避现实的人,未来将更不理想。