以下代码似乎仅对第一个结果有效。我必须重新运行它才能删除其他结果。有人可以告诉我为什么请吗?谢谢
我已经尝试过多次复制和粘贴代码以进行补偿,但这给了我关于重复代码的错误
Dim cell As Range
For Each cell In [AE1:AE2000]
If cell.Value = "REMOVE" Then Range(cell.Offset(0, -5).Address & ":" & cell.Offset(0, 0).Address).Delete Shift:=xlUp
Next cell
答案 0 :(得分:2)
删除行时必须做的一件事是向后循环;否则,您可能会跳过行,这就是声音的原因。向后循环时必须使用计数器,例如
Sub x()
Dim r As Long, cell As Range
Set cell = Range("AE1:AE2000")
For r = cell.Count To 1 Step -1
If UCase(cell(r).Value) = "REMOVE" Then
Range(cell(r).Offset(0, -5), cell(r)).Delete Shift:=xlUp
End If
Next r
End Sub