[求助] 删除包含特定字符串的单元格所在的行

大神们好,小弟想给附件里EXCEL里,有PPN字符串的行做删除,但我自己搞了以下代码,运行一次能删一部分,但删不完全,还要重复运行2次才删干净,不知为何,请明示。谢谢

Sub 删除ppn()
Dim cll As Range

    For Each cll In Range("F1:F40000")
            If InStr(cll, "PPN") Then
            cll.EntireRow.Delete
            End If
    Next
End Sub

 

 

 

for each 是从上往下执行的,如果有相连的ppn,上面删掉一行后,下面一行自然上升,再循环时就会漏掉上升的那行。
可以for i=r to 1 step -1 这样循环来解决。
也可以用specialcell来处理。
  1. Sub 删除ppn()
  2.     Dim cll As Range
  3.     For Each cll In Range("F1:F40000")
  4.         If InStr(cll, "PPN") Then cll = ""
  5.     Next
  6.     Range("F1:F40000").SpecialCells(xlCellTypeBlanks).EntireRow.Delete
  7. End Sub
复制代码
posted @ 2020-04-30 17:43  天涯海角路  阅读(247)  评论(0)    收藏  举报