For…Next文

文のグループを指定された回数繰り返します。

構文

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