Excel VBAの For Next ステートメントとは?

 


Excel VBAの For Next ステートメントとは?

 For Next ステートメントは、プログラミングにおいて繰り返し処理を行うための基本的な構文です。特定の回数だけ同じ処理を繰り返す際に使用されます。Excel VBAでデータ処理を自動化する際に非常に重要な要素です。

このステートメントは、以下のような場面で活用されます:

  • データの一括処理
  • 表のセルに値を代入する際の繰り返し処理
  • 特定の条件を満たすまで処理を繰り返す場合

それでは、具体的な解説をしていきましょう。

基本的な使い方

For Next ステートメントの基本的な構文は以下の通りです:

For [カウンター] = [初期値] To [終了値]
    ' 繰り返したい処理
Next [カウンター]
  • [カウンター]:カウンター変数の名前を指定します。通常は ij などが使われます。
  • [初期値]:カウンター変数の初期値を指定します。
  • [終了値]:カウンター変数が到達する値を指定します。

例えば、以下のコードはExcelの1列目に1から10までの数値を順番に入力するものです:

Sub Sample1()
    Dim i As Long
    For i = 1 To 10
        Cells(i, 1).Value = i
    Next i
End Sub

このコードは、i が1から10まで変化しながら、各行の1列目に対して値を代入していきます。

Stepキーワードの活用

Step キーワードを使用することで、カウンターの増加量を変更できます。例えば、2ずつ増やす場合や逆に減らす場合などがあります。

' 1から9まで2ずつ増やして代入
Sub Sample2()
    Dim i As Long
    For i = 1 To 9 Step 2
        Cells(i, 1).Value = i
    Next i
End Sub

Exit Forステートメントの活用

Exit For ステートメントは、特定の条件を満たした場合にループ処理を途中で終了させるために使用されます。例えば、ある条件が成立したらループを抜けるような場合に便利です。

' "終了"という文字が入力されたらループを終了
Sub Sample3()
    Dim i As Long
    For i = 1 To 10
        If Cells(i, 1) = "終了" Then
            Exit For
        End If
        Cells(i, 1).Value = i
    Next i
End Sub

ネスト(入れ子)の活用

For Next ステートメントをネストすることで、複数のカウンターを操作し、より複雑な繰り返し処理を実現できます。特に、Excelの表のような二次元のデータ構造を操作する際に有効です。