VBA Do...While迴圈

2019-10-16 23:14:04

一個Do...while迴圈用於只要條件為真就重複一組語句。該條件可以在迴圈開始時或迴圈結束時檢查。

語法

以下是VBA中的一個Do...While迴圈的語法。

Do While condition
   [statement 1]
   [statement 2]
   ...
   [statement n]
   [Exit Do]
   [statement 1]
   [statement 2]
   ...
   [statement n]
Loop

流程圖

範例

以下範例使用Do...while迴圈來檢查迴圈開始處的條件。迴圈內部的語句只有在條件成立時才被執行。

Private Sub Constant_demo_Click()
   Do While i < 5
      i = i + 1
      msgbox "The value of i is : " & i
   Loop
End Sub

當上面的程式碼被執行時,它會在訊息框中輸出下面的輸出。

The value of i is : 1

The value of i is : 2

The value of i is : 3

The value of i is : 4

The value of i is : 5

備用/替代語法

另外還有一個替代語句for...while迴圈,用於在迴圈結束時檢查條件。下面的例子解釋了這兩種語法的主要區別。語法 -

Do 
   [statement 1]
   [statement 2]
   ...
   [statement n]
   [Exit Do]
   [statement 1]
   [statement 2]
   ...
   [statement n]
Loop While condition

範例

以下範例使用Do...while迴圈來檢查迴圈結束時的條件。迴圈內的語句至少執行一次,即使條件為False

Private Sub Constant_demo_Click() 
   i = 10
   Do
      i = i + 1
      MsgBox "The value of i is : " & i
   Loop While i < 3 'Condition is false.Hence loop is executed once.
End Sub

當上面的程式碼被執行時,它會在訊息框中輸出下面的輸出。