文のグループを指定された回数繰り返します。
構文
For counter=start To end [Step step]
[statements]
[Exit For]
[statements]
Next
引数:
Counter: ループ・カウンタとして使用される数値変数。変数は、配列要素またはユーザー定義タイプの要素にはできません。
Start: カウンタの初期値。
End: カウンタの最終値。
Step: ループのたびにカウンタを変更する量(ステップ)。指定しないと、stepのデフォルトは1になります。
Statements: ForとNextの間で指定の回数にわたって実行される1つ以上の文。
備考
step引数には、正または負を指定できます。step引数の値によって、ループ処理は次のように判別されます:
Table 11-33 ループ実行
| 値 | 次の場合にループが実行される |
|---|---|
| 正数または0 | counter <= end |
| 負数 | counter >= end |
ループが開始され、ループ内のすべての文が実行されると、カウンタにステップが追加されます。この時点で、ループ内の文が(ループを最初に実行したのと同じテストに基づいて)再度実行されるか、ループが終了してNext文に続く文の実行が続行されます。
Note:
ループ内でカウンタの値を変更すると、コードの読取りとデバッグがより困難になる可能性があります。
Exit Forは、For Each...NextまたはFor...Next制御構造内でのみ使用でき、終了する別の方法を提供します。ループ内の任意の場所に任意の数のExit For文を配置できます。Exit Forは多くの場合、なんらかの条件(If...Thenなど)の評価で使用され、Nextの直後の文に制御を移します。
For...Nextループを別のループ内に配置することで、For...Nextループをネストできます。各ループにカウンタとして一意の変数名を指定します。次の例は正しい構成です:
例1:
For I = 1 To 10
For J = 1 To 10
For K = 1 To 10
Next
Next
Next
例2: 正数のステップ
Dim i
For i = 1 To 3 Step 2
'"Countdown: " & i
Next
'Output:
'Countdown: 1
'Countdown: 3
例3: 負数のステップ
Dim i
For i = 3 To 1 Step -2
'"Countdown: " & i
Next
'Output:
'Countdown: 3
'Countdown: 1