End ステートメントEnd statement

プロシージャまたはブロックを終了させます。Ends a procedure or block.


End 関数End Function
End IfEnd If
End PropertyEnd Property
End SelectEnd Select
End SubEnd Sub
End TypeEnd Type
End WithEnd With

End ステートメントの構文には、次の項目があります。The End statement syntax has these forms:

StatementStatement 説明Description
EndEnd 実行を直ちに終了させます。Terminates execution immediately. 単独で必要になることはありませんが、コードの実行を終了するプロシージャ内の任意の場所に配置し、 Open ステートメントで開かれたファイルを閉じ、変数をクリアすることができます。Never required by itself but may be placed anywhere in a procedure to end code execution, close files opened with the Open statement, and to clear variables.
End 関数End Function Function ステートメントを終了させるのに必要です。Required to end a Function statement.
End IfEnd If ブロックを終了するのに必要**です。そうしたら。。。Else** ステートメント。Required to end a block If…Then…Else statement.
End PropertyEnd Property Property Letproperty Get、または**property Set** プロシージャを終了させるのに必要です。Required to end a Property Let, Property Get, or Property Set procedure.
End SelectEnd Select Select Case ステートメントを終了させるのに必要です。Required to end a Select Case statement.
End SubEnd Sub Sub ステートメントを終了させるために必要です。Required to end a Sub statement.
End TypeEnd Type ユーザー定義型の定義 (type ステートメント) を終了させるのに必要です。Required to end a user-defined type definition (Type statement).
End WithEnd With With ステートメントを終了させるのに必要です。Required to end a With statement.


End ステートメントを実行すると、すべてのモジュール内のすべてのモジュールレベル変数およびすべてのスタティック ローカル変数がリセットされます。When executed, the End statement resets all module-level variables and all static local variables in all modules. これらの変数の値を保持するには、代わりに**Stop** ステートメントを使用します。To preserve the value of these variables, use the Stop statement instead. これらの変数の値を保持したたまま、実行を再開できます。You can then resume execution while preserving the value of those variables.


End ステートメントは、Unload イベント、QueryUnload イベント、Terminate イベント、または他の Visual Basic コードを起動しなくても、コードの実行を即座に停止します。The End statement stops code execution abruptly, without invoking the Unload, QueryUnload, or Terminate event, or any other Visual Basic code. フォームおよびクラス モジュールの Unload イベント、QueryUnload イベント、および Terminate イベントに記述されたコードは実行されません。Code you have placed in the Unload, QueryUnload, and Terminate events of forms and class modules is not executed. クラスモジュールから作成されたオブジェクトは破棄され、 Openステートメントを使用して開かれたファイルが閉じられ、プログラムによって使用されるメモリが解放されます。Objects created from class modules are destroyed, files opened by using the Open statement are closed, and memory used by your program is freed. その他のプログラムが保持しているオブジェクト参照は、無効になります。Object references held by other programs are invalidated.

End ステートメントは、プログラムを強制的に停止させる方法を提供します。The End statement provides a way to force your program to halt. Visual Basic プログラムの通常の終了では、すべてのフォームをアンロードする必要があります。For normal termination of a Visual Basic program, you should unload all forms. パブリック クラス モジュールから作成されたオブジェクトの参照を保持している他のプログラムや実行中のコードがなくなれば、プログラムは直ちに終了します。Your program closes as soon as there are no other programs holding references to objects created from your public class modules and no code executing.


この例では、ユーザーが無効なパスワードを入力した場合に、 endステートメントを使用してコードの実行を終了します。This example uses the End statement to end code execution if the user enters an invalid password.

Sub Form_Load 
  Dim Password, Pword 
  PassWord = "Swordfish" 
  Pword = InputBox("Type in your password") 
  If Pword <> PassWord Then 
    MsgBox "Sorry, incorrect password" 
  End If
End Sub

関連項目See also

サポートとフィードバックSupport and feedback

Office VBA またはこの説明書に関するご質問やフィードバックがありますか?Have questions or feedback about Office VBA or this documentation? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.