📅  最后修改于: 2023-12-03 15:25:47.708000             🧑  作者: Mango
在 VBA 中,执行直到循环语句是一种常见的程序控制结构,它允许程序持续执行一个块代码,直到特定条件得到满足。
最常用的“执行直到循环”语句是“Do Until”语句。该语句的语法结构如下:
Do Until condition
' Code to be executed
Loop
“Do Until”语句会不断地执行“循环”语句块,直到“condition”表达式得到满足(即返回值为“True”)。通常,在循环中我们会对某些变量进行操作以便满足“condition”表达式。
下面是一个简单的例子,它会不断从单元格 A1 到 A10 中查找指定的值:
Sub testDoUntil()
Dim i As Integer
i = 1
Do Until ActiveSheet.Cells(i, 1).Value = "Stop"
i = i + 1
Loop
End Sub
在这个例子中,“condition”表达式为“ActiveSheet.Cells(i, 1).Value = 'Stop'”,表示只要我们在单元格 A1 到 A10 中找到了值“Stop”,就会停止循环。每次循环中,我们都会将“i”变量加 1,以便在下一次循环中检查下一个单元格。
在 VBA 中,还有一种类似的语句叫做“Do While”语句,它的语法结构和“Do Until”语句很相似:
Do While condition
' Code to be executed
Loop
这种语句会不断地执行语句块,直到“condition”表达式不再满足(即返回值为“False”)。下面是一个例子:
Sub testDoWhile()
Dim i As Integer
i = 1
Do While i <= 10
Debug.Print i
i = i + 1
Loop
End Sub
在这个例子中,“condition”表达式为“i <= 10”,表示只要“i”变量的值小于等于 10,就会继续循环。每次循环中,我们会输出“i”的值,并将其加 1。
有时候,我们需要在循环中提前终止循环。在 VBA 中,我们可以使用“Exit Do”语句来实现这一点。例如:
Sub testExitDo()
Dim i As Integer
i = 1
Do Until i > 10
If i = 5 Then Exit Do
Debug.Print i
i = i + 1
Loop
End Sub
在这个例子中,我们使用了“Exit Do”语句来中止循环。当“i”变量等于 5 时,我们使用“Exit Do”语句来提前结束循环。在其他情况下,我们依然会输出“i”的值,并将其加 1。
使用“执行直到循环”语句可以让我们更加灵活地控制程序的流程。无论是“Do Until”还是“Do While”语句,都可以帮助我们写出更加高效的程序代码。如果你已经熟悉了这两种语句,那么请试着使用“Exit Do”语句来提前结束循环吧。祝你学习愉快!