📜  执行直到循环 vba (1)

📅  最后修改于: 2023-12-03 15:25:47.708000             🧑  作者: Mango

执行直到循环 VBA

在 VBA 中,执行直到循环语句是一种常见的程序控制结构,它允许程序持续执行一个块代码,直到特定条件得到满足。

Do Until 语句

最常用的“执行直到循环”语句是“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,以便在下一次循环中检查下一个单元格。

Do While 语句

在 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。

Exit Do 语句

有时候,我们需要在循环中提前终止循环。在 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。

Conclusion

使用“执行直到循环”语句可以让我们更加灵活地控制程序的流程。无论是“Do Until”还是“Do While”语句,都可以帮助我们写出更加高效的程序代码。如果你已经熟悉了这两种语句,那么请试着使用“Exit Do”语句来提前结束循环吧。祝你学习愉快!