Excel 为什么这会进入一个无限循环?

Excel 为什么这会进入一个无限循环?,excel,vba,Excel,Vba,Excel(2010)vba,此代码进入无限循环(我假设是因为“Goto”…为什么?) 原因已经在注释中提到,在调用递归之前,您正在检查以下条件 If rowsdeleted > 0 当您进入循环时,您正在将值设置为 rowsdeleted = rowsdeleted + 1 因此该值始终为真,因此是一个无限循环,因为它检查rowsdelete>0,并且在循环中要做的第一件事是将rowsdelete+1设置为零。所以我假设定义的范围(UsedRange)从未被清除?我是个白痴。它应该在

Excel(2010)vba,此代码进入无限循环(我假设是因为“Goto”…为什么?)


原因已经在注释中提到,在调用递归之前,您正在检查以下条件

If rowsdeleted > 0
当您进入循环时,您正在将值设置为

rowsdeleted = rowsdeleted + 1

因此该值始终为真,因此是一个无限循环

,因为它检查rowsdelete>0,并且在循环中要做的第一件事是将rowsdelete+1设置为零。所以我假设定义的范围(UsedRange)从未被清除?我是个白痴。它应该在row.Delete语句之后增加rowsdelete。对不起打扰了。。。。哦!它也很紧@吉姆·英迪:-是的,的确如此!:)
rowsdeleted = rowsdeleted + 1