应该是
Do
While
l
<
500
If
Worksheets("sheet1").Cells(l,
3).Value
=
"
"
Then
Cells(l,
3).Select
ActiveCell.FormulaR1C1
=
"=R[-1]C"
End
If
l
=
l
+
1
Loop
感觉你的意思是如果Worksheets("sheet1").Cells(l,
3).Value
=
"
"则执行Cells(l,
3).Select
ActiveCell.FormulaR1C1
=
"=R[-1]C",但无论Worksheets("sheet1").Cells(l,
3).Value是否为空,你的do
while都要执行l
=
l
+
1,但你在l
=
l
+
1之前加else,意味着Worksheets("sheet1").Cells(l,
3).Value为空时不会执行l
=
l
+
1,那这样do
while就无法继续循环下去,i的值也不会增加啦。
是个人理解,不知道对不?
DO 循环语句是用于不知道循环次数。和FOR循环相反(它是知道循环次数)。
do
while
i<10
i=i+1
s=s+i
loop
print
s
s=0
i=0
do
i=i+1
s=s+i
while i<11
msgbox s
do while i<10
i=i+1
s=s+i
loop
print s