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