VBA:如何根据条件删除接下来的三行?

VBA:如何根据条件删除接下来的三行?,vba,excel,Vba,Excel,我的代码只删除包含字母PGM:AGEDP的行,但我不知道如何删除第一次删除后的下一三行。PGM:AGEDP行后的三行是垃圾,它们包含一些字母、数字和符号,每次都有变化,但字母PGM:AGEDP将始终保持不变。为了简单起见,如果第一行包含字母,那么它应该与下面三行一起删除。这四行在整个工作表中非常令人讨厌,超过30X Sub RemovingPGM() Dim ws As Worksheet For Each ws In Sheets ws.Activate Dim n As Long

我的代码只删除包含字母PGM:AGEDP的行,但我不知道如何删除第一次删除后的下一三行。PGM:AGEDP行后的三行是垃圾,它们包含一些字母、数字和符号,每次都有变化,但字母PGM:AGEDP将始终保持不变。为了简单起见,如果第一行包含字母,那么它应该与下面三行一起删除。这四行在整个工作表中非常令人讨厌,超过30X

Sub RemovingPGM()

Dim ws As Worksheet
For Each ws In Sheets
ws.Activate

  Dim n As Long
    Dim nlast As Long
    Dim rw As Range
    Set rw = ActiveWorkbook.ActiveSheet.UsedRange.Rows
    nlast = rw.Count
    For n = nlast To 1 Step -1
        If (rw.Cells(n, 1).Value = "PGM:AGEDP") Then
            rw.Rows(n).Delete
        End If
    Next n
    Next ws
End Sub

有关进一步解释的任何问题,请随时提问。

rw.Rows(n).调整大小(4).删除您可以执行以下操作:rw.Rows(n).删除,rw.Rows(n-1).删除,rw.Rows(n-2).删除,rw.Rows(n-4)。Delete@user3598756哈哈,谢谢,效果很好。@VBAPete这个很好too@BruceWayne,你很可能就是不记得了!
  Sub Second_DeletingPGM()
    Dim n As Long
    Dim nlast As Long
    Dim rw As Range

    Set rw = ActiveWorkbook.ActiveSheet.UsedRange.Rows

    nlast = rw.Count
    For n = nlast To 1 Step -1
        If (rw.Cells(n, 1).Value = "PGM:AGEDP") Then
            rw.Rows(n).Resize(4).Delete
        End If

    Next n
End Sub