VBA の Exit Sub

Iqra Hasnain 2024年2月15日
VBA の Exit Sub

VBA で exit sub の様々な方法を例題を交えて紹介します。

VBA で Exit Sub ステートメントを使用する

VBA で Sub を操作しているときに、エラーが発生した場合やユーザーが間違った入力を入力した場合は、Sub を終了するか、実行を停止することができます。また、exit sub を使用して、いつでも sub を終了できます。

VBA では、各行が 1つずつ実行されるため、特定の実行ポイントで結果が得られた場合、または目的の応答が期待どおりでない場合は、exitsub を使用して sub を終了できます。

この関数を使用できる状況はたくさんあります。例を見て、コードの途中でサブを終了してみましょう。

サンプルコード:

# VBA
Sub roundFunc()
Dim num As Double
num = 5.468
Exit Sub
MsgBox Application.WorksheetFunction.RoundUp(num, 1)
End Sub

上記の例から、メッセージボックスの前に exit サブコードを追加しましたが、このコードを実行すると、メッセージボックスは表示されません。

if-else ステートメントを使用した別の例を見てみましょう。ステートメントが true の場合、コードは最後まで実行されます。そうでなければ、それは壊れます。

サンプルコード:

# VBA
Sub roundFunc()
Dim num As Double
num = 5.468
If Application.WorksheetFunction.RoundUp(num, 1) = 6 Then
    MsgBox num
Else
    MsgBox "Wrong Number"
    Exit Sub
num = num + num
End If
End Sub

出力:

VBA の msgBox の後に sub を終了します

重要なデータを処理していて、エラーや入力のいずれかが間違っていることを確認したい場合は、データの損失や会社のデータ内に間違ったデータがないことを確認するために、すぐにサブを終了させる必要があります。

関連記事 - VBA Function