Excelでvba exit subを使用するにはどうすればよいですか?
VBA Exit Sub は、サブプロシージャまたは関数を終了するために使用するステートメントです。ご存知のとおり、各行は次々に実行されるマクロであり、「Exit Sub」VBA を追加すると、その後に続く残りのコードを実行せずにプロシージャを終了します。これは、ループとメッセージ ボックスで最もよく機能します。
VBA での Exit サブステートメントの使用
- まず、「Exit Sub」を追加する行を決めます。
- その後、コードを実行するときに実行されるコードの構造を確認します。
- 次に「Exit Sub」を入力します。
- 最終的には、「Exit Sub」ステートメントを使用する理由を説明するコメントを作成するのが最善です。
注: 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 エラー処理) に渡され、プロシージャを終了します。
VBAとは
関連するチュートリアル
- VBA の面接での質問
- VBAコードにコメントを追加する
- VBA コードに改行を追加する
- VBAで文字列に改行(キャリッジリターン)を追加する
- Excel でマクロを実行する (VBA コードを実行する)