Excelでvba exit subを使用するにはどうすればよいですか?

VBA Exit Sub は、サブプロシージャまたは関数を終了するために使用するステートメントです。ご存知のとおり、各行は次々に実行されるマクロであり、「Exit Sub」VBA を追加すると、その後に続く残りのコードを実行せずにプロシージャを終了します。これは、ループとメッセージ ボックスで最もよく機能します。

VBA での Exit サブステートメントの使用

  1. まず、「Exit Sub」を追加する行を決めます。
  2. その後、コードを実行するときに実行されるコードの構造を確認します。
  3. 次に「Exit Sub」を入力します。
  4. 最終的には、「Exit Sub」ステートメントを使用する理由を説明するコメントを作成するのが最善です。
vba-exit-サブステートメント

注: VBA関数プロシージャで使用する必要があるステートメントは、「Exit Function」です。

メッセージ ボックスと入力ボックスで Exit Sub を使用する

入力ボックスを使用してユーザーから入力を取得し、ユーザーの応答が数値でない場合はプロシージャを終了するとします (次の例を考えてください)。

上記のコードには、入力ボックスに入力された値が数値であるかどうかをチェックするISNUMERICがあり、その値が数値でない場合は、Exit ステートメント Sub を使用して、メッセージ ボックスを表示した後にプロシージャを完了します。

 Sub vba_exit_sub_example() If IsNumeric(InputBox("Enter your age.", "Age")) = False Then MsgBox "Error! Enter your Age in numbers only." Exit Sub Else MsgBox "Thanks for the input." End If End Sub

エラーの場合 Exit Sub

「Exit Sub」の優れた点の 1 つは、エラーが発生したときにこれを使用してプロシージャを終了できることです。以下は、数値をゼロで除算し、「実行時エラー ’11’」を返し、実行を停止するコードです。

ここで、GoTo ステートメントを使用して、プロシージャを終了するための「Exit Sub」を含むエラー ハンドラーを作成できます (次のコードを考えてください)。

 Sub vba_exit_sub_on_error() On Error GoTo iError Range("A1") = 10 / 0 iError: MsgBox "You can't divide with the zero." & _ "Change the code." Exit Sub End Sub

上記のコードには、エラー ハンドラー「iError」とメッセージ ボックス、そして「Exit Sub」ステートメントがあります。計算中にエラーが発生した場合、 goto ステートメントはエラー ハンドラー ( VBA エラー処理) に渡され、プロシージャを終了します。

コメントを追加する

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