Forループで、キーワードStepを使用すると、カウンタ変数を指定した値ずつ増減することができます。
次の例では、ループを繰り返すごとにカウンタ変数 j の値は 2 ずつ増えます。
ループが終了すると、変数totalは 2、4、6、8、および 10 を合計した値になります。
Sub CalcTotal() Dim j, total For j = 2 To 10 Step 2 total = total + j Next j MsgBox "合計は " & total & " です" End Sub
カウンタ変数を減少させるには、キーワード Stepに負の値を指定します。 その場合、終了値は開始値より小さい値を指定しなければなりません。
次の例では、ループを繰り返すごとにカウンタ変数 j の値は 2 ずつ引かれます。
ループが終了すると、変数totalは 10、8、6、4、および 2を合計した値になります。
Sub CalcTotal_2() Dim j, total For j = 10 To 2 Step -2 total = total + j Next j MsgBox "合計は " & total & " です" End Sub
Stepに整数でなく実数を指定することもできますが、開始値と終了値の値の指定には注意が必要です。
次の例では、ループを繰り返すごとにカウンタ変数 j の値は 0.1 ずつ増えていきます。
実行してみると、変数totalは 1.0、1.1、1.2、1.3、1.4、1.5、1.6、1.7、1.8 および 1.9を合計した値 14.5 になります。
Sub CalcTotal_3()
Dim j, total For j = 1 To 2 Step 0.1 total = total + j Next j MsgBox "合計は " & total & " です" End Sub
1.0、1.1、1.2、1.3、1.4、1.5、1.6、1.7、1.8、1.9 および2.0を合計した値 16.5 を求めたい時は、
For j = 1 To 2.01 Step 0.1
のように実数の誤差を想定して指定する必要があります。
Sub CalcTotal_4() Dim j, total For j = 1 To 2.01 Step 0.1 total = total + j Next j MsgBox "合計は " & total & " です" End Sub