因此,只有一半的搜索记录被删除。 PFB代码片段。例如:存在32个CityName实例。只有16个被删除。
i As Long, lngEndRowInv As Long
Set wsh = ThisWorkbook.ActiveSheet
i = 1
lngEndRowInv = wsh.Range("A" & Rows.Count).End(xlUp).Row
While i <= lngEndRowInv
If Cells(i, "A") = "CityName" Then
Cells(i, "A").EntireRow.Delete
End If
i = i + 1
Wend
这与反向方法有关吗?任何帮助或方向表示赞赏。谢谢!
答案 0 :(得分:3)
这是因为如果删除第2行,那么之前第3行的内容现在是第2行。所以每次删除行时都需要偏移引用
If Cells(i, "A") = "CityName" Then
Cells(i, "A").EntireRow.Delete
i = i -1
lngEndRowInv = lngEndRowInv -1
End If