教えて!ExcelVBA!

ExcelVBAの基礎知識・書き方について紹介します。

【ExcelVBA 構文】For~Next文(繰り返し処理)の使い方を教えて!

構文

構文は以下の通りです。

For 変数 = 初期値 To 終了値 Step ステップ値
    ' 繰り返し処理
Next 変数

解説

For~Next文は、指定した回数だけ繰り返し処理を行うための制御文です。指定した回数だけ繰り返し処理を行うために、変数とそれに対する初期値、終了値、ステップ値を指定します。初期値から終了値まで、ステップ値ずつ変数が増減して繰り返し処理が実行されます。Next文の後には変数を指定してループの終了を示します。

使い方

以下では、具体的な使い方の例をいくつか紹介します。

1.数値の繰り返し処理

数値の繰り返し処理を行い、合計値を計算する例を紹介します。

Sub CalculateSum()
    Dim total As Integer
    total = 0
    For i = 1 To 10
        total = total + i
    Next i
    MsgBox "合計値は" & total & "です。"
End Sub

この例では、1から10までの数値を繰り返し処理して、それらの合計値を計算しています。変数iは1から10までの値を順番に取ります。各ループでtotalにiの値を加算していき、最終的な合計値が求められます。

2.セルの操作と繰り返し処理

以下の例では、A1からA10までのセルに連番を書き込んでいます。

Sub FillNumbers()
    For i = 1 To 10
        Range("A" & i).Value = i
    Next i
End Sub

この例では、変数iが1から10までの範囲を繰り返し処理しています。各ループでは、Range("A" & i)を使ってセルのアドレスを動的に指定し、そのセルに変数iの値を書き込んでいます。結果として、A1からA10までのセルに1から10までの連番が書き込まれます。

3.ステップ値の指定

For~Next文では、ステップ値を指定することも可能です。ステップ値は、変数の増減量を制御するために使われます。以下の例では、2ずつ増えるループを実行し、1から10までの偶数を表示しています。

Sub EvenNumbers()
    For i = 2 To 10 Step 2
        MsgBox i
    Next i
End Sub

この例では、変数iが2から10まで2ずつ増加するように指定しています。各ループでは、変数iの値がMsgBoxで表示されます。結果として、2, 4, 6, 8, 10が表示されます。

まとめ

For~Next文は、指定した回数だけ繰り返し処理を行うための重要な機能です。For~Next文の構文や使い方について理解し、プログラミング例を参考にして自身のVBAスキルを向上させてください。