VBA For循环问题

来源:百度知道 编辑:UC知道 时间:2024/09/28 12:25:33
我写代码的时候发现一个问题。下面是截取的部分代码,
maxRowCount = .[A65535].End(xlUp).Row
For i = 1 To maxRowCount
If .Cells(i, 1).Value = "" Then
.Rows(i).Select
Selection.Delete Shift:=xlUp
maxRowCount = maxRowCount - 1
End If
Next i

假设maxRowCount一开始取出来是10,实际中间有2个单元格为空。那么,循环的次数到底是多少次?请给出理由,谢谢。
maxRowCount这个变量在循环中有变化哦。
这个跟sql数据库没有关系,是在excel中的。干脆说明白,我调试代码的时候看到就是执行了10次,想知道的是为什么这个循环的次数不受maxRowCount变量值的变化的影响。

已解决,还是专业论坛解决的速度快啊。
http://club.excelhome.net/thread-472044-1-1.html

maxRowCount - 1 + 1 次
maxRowCount是你那个变量我也不知道是多少
第一个“1”是 “To”前面的那个是
第二个“1”是公式里带的,总是差1
其实,它运行了maxRowCount - 1 + 1 次
只不过被If语句拦下来了,它运行了两次空语句。

你要从sql 语句下手,先取出所有非空的结果集