while循环挂在VBA中

我有一小段代码,标签重复,并删除工作表中的行。

标识重复项的部分只是在J列中的数据右侧添加了“重复”一词,而且这部分似乎工作正常。

其他部分看起来也能正常工作,但一旦完成,它就会挂起,我必须强行closures它。 以下是删除部分的代码:

While Not IsEmpty(Range("J2:J" & InvLast)) For InvList = 2 To InvLast If Range("J" & InvList).Value = "Duplicate" Then Range("J" & InvList).EntireRow.Delete End If Next InvList Wend 

在我正在testing的testing文件中,InvLast只有28行,但是我需要成千上万的行数,而不需要花费一天的时间。

提前致谢!

摆脱While循环,并使用此方法,以便您不会跳过行:

 Sub deleteDuplicates() For InvList = InvLast To 2 Step -1 If Range("J" & InvList).Value = "Duplicate" Then Range("J" & InvList).EntireRow.Delete End If Next InvList End Sub