【VBA言語】for文について【解説】

【VBA言語】for文について【解説】

for文とは

VBA(Visual Basic for Applications)における「for文」は、繰り返し処理を行うための構文です。繰り返し処理は、特定の処理を指定回数繰り返したい場合や、範囲内の全ての要素を順番に処理したい場合に使用します。

例えば、ある数値を加算したり、配列の要素を一つずつ確認したりする時に便利です。VBAの「for文」を使うことで、コードを簡潔に保つことができます。

基本的な構文

VBAにおける基本的な「for文」の構文は以下の通りです:


For i = 初期値 To 終了値 [Step 増分]
    ' 処理内容
Next i
    

この構文では、iという変数が、初期値から終了値まで、指定された増分で繰り返し処理を行います。増分は省略することができ、省略した場合はデフォルトで1となります。

実際の例

次に、実際の「for文」の使用例をいくつか紹介します。

例1: 1から10までの数を表示


For i = 1 To 10
    MsgBox i
Next i
    

このコードは、1から10までの数字を順番に表示する処理です。iが1から10までの値を取る度にMsgBoxでその値を表示します。

例2: 5から1までカウントダウン


For i = 5 To 1 Step -1
    MsgBox i
Next i
    

このコードは、5から1までカウントダウンする処理です。増分に-1を指定することで、逆順でカウントダウンします。

ネストしたfor文

「for文」は、別の「for文」の中に入れることができます。これをネストした「for文」と呼びます。複数の繰り返し処理を組み合わせる場合に非常に役立ちます。

例えば、2次元配列を処理する場合などに使われます。

例: 2次元配列の処理


Dim arr(2, 2) As Integer
arr(0, 0) = 1
arr(0, 1) = 2
arr(0, 2) = 3
arr(1, 0) = 4
arr(1, 1) = 5
arr(1, 2) = 6

For i = 0 To 1
    For j = 0 To 2
        MsgBox arr(i, j)
    Next j
Next i
    

このコードでは、2次元配列arrの要素を順番に表示します。iは行、jは列を表し、arr(i, j)で各要素にアクセスします。

for文の範囲変更

「for文」の範囲は、開始時に指定した値や終了時に指定した値によって決まりますが、Stepを使って増分を変更することもできます。

例: 2ずつ増加させる


For i = 0 To 10 Step 2
    MsgBox i
Next i
    

このコードでは、iが0から10まで2ずつ増加しながら処理されます。つまり、0, 2, 4, 6, 8, 10が順番に表示されます。

for文の終了

「for文」の終了にはNextが使われます。Nextは、次の繰り返しに進むための指示を出す命令です。iの変数は自動的にインクリメントされ、終了条件に達するとループが終了します。

また、Exit Forを使って、ループを途中で終了させることもできます。例えば、特定の条件が満たされたときにループを早期終了させたい場合に便利です。

例: 条件付きでループを終了


For i = 1 To 10
    If i = 5 Then
        Exit For
    End If
    MsgBox i
Next i
    

このコードでは、iが5になった時点で「for文」が終了します。Exit Forが実行されると、次のNextに進むことなくループが終了します。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です