QINMS.com >> 首页 >>  >> 正文

倒序循环,不一样的效果

在excel中VBA使用循环模块for...next时,常习惯性从小到大,如for 1 to 10 等等。

而从小到大循环,结果有时候会出乎我们的意料,如删除某些行时,从小到大查询,删除行后,下面一行会自动递进,而循环模块将会对上进的行忽略掉,结果不是我们想要的。

若用倒序来查询,就可避免这种情况:

  1. Sub 循环() --程序开头
  2. For i =cells(rows.count,1).end(xlup).row to 1 step -1 -- 从尾行到第一行依次递减1行
  3. If cell(i,1).value="" then --若某一行第一列为空
  4. Row (i).delete --直接删除该行
  5. End if
  6. Next --循环
  7. End sub

这也是一种很好的解决思路。


METi. 版权所有 |