For文 VBAで自動化 VBAテクニック集 VBA一覧 文法・構文

【VBA】Exit Forの入れ子(ネスト)する方法:For文

Excel VBAでは、複数のForループが入れ子になっている場合、内側のループや外側のループから適切なタイミングで抜け出すことが重要です。Exit Forステートメントを使用すると、条件に応じてこれらのループから効率的に脱出することが可能です。この記事では、入れ子のForループでExit Forを使用する方法について詳しく解説します。

Exit Forの入れ子する基本構文

入れ子のForループでは、それぞれのループに対してExit Forを使用することができます。Exit Forはそのステートメントが含まれるループからのみ脱出します。

For i = 1 To 10

For j = 1 To 10

If 条件A Then

Exit For ' 内側のループから抜ける

End If

Next j

If 条件B Then

Exit For ' 外側のループから抜ける

End If

Next i

Exit Forの入れ子する実践的な例

例【二次元配列の検索】
二次元配列内で特定の値を検索し、その値が見つかったらすぐに両方のループを抜ける例です。

Sub ExitNestedLoops()

Dim arr(1 To 5, 1 To 5) As Integer
Dim i As Integer, j As Integer
Dim target As Integer
target = 25 ' 探している値
Dim Hantei As Boolean

' 配列の初期化
For i = 1 To 5

For j = 1 To 5

arr(i, j) = i * j

If arr(i, j) = target Then

MsgBox "Found " & target & " at (" & i & ", " & j & ")"

Hantei = True
Exit For ' 内側のループを抜ける

End If

Next j
If Hantei = True Then Exit For ' 外側のループを抜ける

Next i

End Sub

このサンプルコードでは、目的の値が見つかった時点で内側のループを抜け、次に外側のループも即座に抜けます。これにより、不要な計算を回避し、プログラムの効率を向上させることができます。

まとめ

Exit Forを活用することで、VBAの入れ子のループをより効率的に制御することができます。これにより、不要な計算を省略し、プログラムのパフォーマンスを向上させることが可能になります。また、コードの読みやすさも向上し、メンテナンスが容易になります。

-For文, VBAで自動化, VBAテクニック集, VBA一覧, 文法・構文