For..を使用しています。次のステートメント

For..を使用します。ステートメントのブロックを特定の回数繰り返す次のステートメントFor ループでは、処理が 1 回実行されるたびに値が増減するカウンター変数を使用します。

次の 手順では 、コンピューターが 50 回ビープ音を鳴らします。 For ステートメントは、カウンター変数とその開始値と終了値を指定します。 Next ステートメントは、カウンター変数を 1 ずつインクリメントします。

Sub Beeps() 
    For x = 1 To 50 
        Beep 
    Next x 
End Sub

Stepキーワードを使用すると、指定した値でカウンター変数を増減できます。 次の例では、ループが繰り返されるたびにカウンター変数 j が 2 ずつインクリメントされます。 ループが終了すると、 total は 2、4、6、8、および 10 の合計になります。

Sub TwosTotal() 
    For j = 2 To 10 Step 2 
        total = total + j 
    Next j 
    MsgBox "The total is " & total 
End Sub

カウンター変数を減少させるには、Step で負の値を指定します。 カウンター変数を減少させる場合は、終了値を開始値よりも小さくする必要があります。 次の例では、処理が 1 回実行されるたびにカウンター変数 myNum が 2 ずつ減少します。 ループが終了すると、 total は 16、14、12、10、8、6、4、および 2 の合計になります。

Sub NewTotal() 
    For myNum = 16 To 2 Step -2 
        total = total + myNum 
    Next myNum 
    MsgBox "The total is " & total 
End Sub

注:

必ずしも、Next ステートメントの後にカウンター変数の名前を記述する必要はありません。 上記の例では、わかりやすいようにカウンター変数の名前を記述してあります。

For..を終了できます。 Exit For ステートメントを使用して、カウンターが終了値に達する前の次のステートメント。 たとえば、エラーの発生時には、If...Then...Else ステートメントまたは具体的なエラーを確認する Select Case ステートメントの True ステートメント ブロックで Exit For ステートメントを使用します。 エラーが発生しない場合は、 If..。そうしたら。。。Else ステートメントは False で、ループは引き続き期待どおりに実行されます。

関連項目

サポートとフィードバック

Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。