對於迴圈

For 迴圈用於重複封閉的程式碼段給定次數。以下簡單示例說明了基本語法:

Dim i as Integer           'Declaration of i
For i = 1 to 10            'Declare how many times the loop shall be executed
    Debug.Print i          'The piece of code which is repeated
Next i                     'The end of the loop

上面的程式碼宣告瞭一個 Integer iFor 迴圈將 1 到 10 之間的每個值分配給 i 然後執行 Debug.Print i - 即程式碼將數字 1 到 10 列印到立即視窗。請注意,迴圈變數由 Next 語句遞增,即在所包含的程式碼執行之後,而不是在執行之前。

預設情況下,每次迴圈執行時計數器將遞增 1。但是,可以指定 Step 將增量的數量更改為函式的文字或返回值。如果起始值,結束值或 Step 值是浮點數,則將四捨五入到最接近的整數值。Step 可以是正值或負值。

Dim i As Integer
For i = 1 To 10 Step 2
    Debug.Print i       'Prints 1, 3, 5, 7, and 9
Next

通常,For 迴圈將用於在迴圈開始之前已知多少次執行封閉程式碼的情況(否則 DoWhile 迴圈可能更合適)。這是因為退出條件在第一次進入迴圈後被修復,因為此程式碼演示了:

Private Iterations As Long              'Module scope

Public Sub Example()
    Dim i As Long
    Iterations = 10
    For i = 1 To Iterations
        Debug.Print Iterations     'Prints 10 through 1, descending.
        Iterations = Iterations - 1
    Next
End Sub

使用 Exit For 語句可以提前退出 For 迴圈:

Dim i As Integer

For i = 1 To 10
    If i > 5 Then
        Exit For
    End If
    Debug.Print i       'Prints 1, 2, 3, 4, 5 before loop exits early.
Next