教えて!ExcelVBA!

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

【ExcelVBA 構文】Exit文(処理の途中で終了)の使い方を教えて!

構文

Exit文は、特定の条件を満たした場合に処理を中断して抜けるために使用されます。

1.ループ内での使用

Exit Do | For | While | Sub

・Exit Do:Doループを中断して抜ける。
・Exit For:Forループを中断して抜ける。
・Exit While:Whileループを中断して抜ける。

2.サブルーチン内での使用

Exit Sub

・Exit Sub:サブルーチンを中断して抜ける。

使い方

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

1.ループの中断

ループ内で特定の条件を満たした場合にループを中断して抜けるためにExit文を使用します。以下の例では、変数iが3の場合にループを中断します。

Sub LoopExitExample()
    Dim i As Integer
    For i = 1 To 5
        If i = 3 Then
            Exit For
        End If
        MsgBox i
    Next i
    MsgBox "ループ終了"
End Sub

この例では、1から5までの数値をループで処理しています。しかし、変数iが3の場合にExit For文を使用してループを中断しています。そのため、メッセージボックスには1と2の数値が表示され、ループが終了します。

2.サブルーチンの中断

サブルーチン内で特定の条件を満たした場合にサブルーチンを中断して抜けるためにExit Sub文を使用します。以下の例では、変数xが0以下の場合にサブルーチンを中断します。

Sub SubExitExample()
    Dim x As Integer
    x = -10
    If x <= 0 Then
        MsgBox "条件を満たしました。"
        Exit Sub
    End If
    MsgBox "条件を満たしませんでした。"
End Sub

この例では、変数xの値が0以下の場合にExit Sub文を使用してサブルーチンを中断しています。その結果、条件を満たす場合にはメッセージボックスに"条件を満たしました。"と表示され、サブルーチンは中断されます。一方、条件を満たさない場合は"条件を満たしませんでした。"と表示されます。

まとめ

Exit文は、ループやサブルーチン内で特定の条件を満たした場合に処理を中断して抜けるための機能です。Exit文を使用することで、特定の条件下での処理の中断やプログラムのフロー制御が容易になります。ただし、Exit文を多用しすぎるとプログラムの可読性や保守性が低下する恐れがあるため、適切に使用することが重要です。