【发布时间】:2021-09-06 09:27:50
【问题描述】:
我有这段代码,它应该循环遍历特定范围内的所有行,如果满足条件,它应该删除整行。
Sub zakat()
Dim cell As Range
Dim last As String
Sheets("payment sheet").Activate
Cells.EntireColumn.AutoFit
last = ActiveSheet.Range("A1").CurrentRegion.Rows.Count
Debug.Print (last)
For Each cell In Range("M2:M" & last)
If cell.Text Like "*4435*" Or cell.Text Like "*1292*" Or cell.Text Like "*1293*" Then
cell.Select
Selection.EntireRow.Select
Selection.Delete Shift:=xlUp
End If
Next cell
End Sub
我只是尝试用黄色突出显示条件是否满足而不删除事务只是为了测试它是否循环遍历所有记录并正确识别它们,并且它确实突出显示了所有记录而没有问题。只是当我要求它删除行时,它并没有删除所有行,它只删除了几乎一半的下摆!
有什么建议吗?
【问题讨论】:
-
删除行时,从最后一个迭代到第一个。