退出某语句,我们前面都是用exit,退出程序用end,exit可用于退出for next,也可用于do loop循环。今天我们来学习退出DO LOOP语句的另外两个语句,until和while。
还是前面讲的例子:
在A1单元格中数字累加到10:
用Until判断时语句如下:
Sub 退出循环()
Dim N%
Do Until N > 9
N = N + 1
Range("A1") = N
Loop
End Sub
Until N > 9, 意思时直到N>9才停止循环,先判断N是否大于9,不大于就执行,大于就停止。所以是先判断后执行。
用while判断时语句如下:
Sub 退出循环1()
Dim N%
Do
N = N + 1
Range("A1") = N
Loop While N < 10
End Sub
While N < 10,意思是当N小于10时就循环DO下面的语句,是先执行后判断。
实际应运举例:
前面章节讲过的例子,当时我们用DO LOOP来写是:
Sub 计算金额()
Dim ro%
ro = 1
Do
If Cells(ro + 1, "c") = "" Then
Exit Do
Else
ro = ro + 1
Cells(ro, "f") = Cells(ro, "d") * Cells(ro, "e")
End If
Loop
End Sub
用一个if进行判断,条件成立则exit do。
学习了今天的内容以后,我们可以对上面的代码进行修改:
Sub 计算金额()
Dim ro%
ro = 1
Do until Cells(ro + 1, "c") = ""
ro = ro + 1
Cells(ro, "f") = Cells(ro, "d") * Cells(ro, "e")
Loop
End Sub
或者是:
Sub 计算金额()
Dim ro%
ro = 1
Do
ro = ro + 1
Cells(ro, "f") = Cells(ro, "d") * Cells(ro, "e")
Loop while Cells(ro + 1, "c") <>""
End Sub
是不是比用if判断显得更加简洁呢?
转自:米宏Office