End ステートメント

プロシージャまたはブロックを終了させます。

構文

End
End 関数
End If
End Property
End Select
End Sub
End Type
End With

End ステートメントの構文には、次の項目があります。

Statement 説明
End 実行を直ちに終了させます。 それ自体では必要ありませんが、コードの実行を終了し、 Open ステートメントで開かれたファイルを閉じ、 変数をクリアするためにプロシージャ内の任意の場所に配置できます。
End 関数 Function ステートメントを終了するために必要です。
End If ブロック If..を終了するために必要です 。そうしたら。。。Else ステートメント。
End Property Property LetProperty Get、または Property Set プロシージャを終了するために必要です。
End Select Select Case ステートメントを終了するために必要です。
End Sub Sub ステートメントを終了するために必要です。
End Type ユーザー定義型定義 (Type ステートメント) を終了するために必要です。
End With With ステートメントを終了するために必要です。

注釈

End ステートメントを実行すると、すべてのモジュール内のすべてのモジュールレベル変数およびすべてのスタティック ローカル変数がリセットされます。 これらの変数の値を保持するには、代わりに Stop ステートメントを使用します。 これらの変数の値を保持したたまま、実行を再開できます。

注:

End ステートメントは、Unload イベント、QueryUnload イベント、Terminate イベント、または他の Visual Basic コードを起動しなくても、コードの実行を即座に停止します。 フォームおよびクラス モジュールの Unload イベント、QueryUnload イベント、および Terminate イベントに記述されたコードは実行されません。 クラス モジュールから作成されたオブジェクトが破棄され、 Open ステートメントを使用して開かれたファイルが閉じられ、プログラムによって使用されるメモリが解放されます。 その他のプログラムが保持しているオブジェクト参照は、無効になります。

End ステートメントは、プログラムを強制的に停止させる方法を提供します。 Visual Basic プログラムの通常の終了では、すべてのフォームをアンロードする必要があります。 パブリック クラス モジュールから作成されたオブジェクトの参照を保持している他のプログラムや実行中のコードがなくなれば、プログラムは直ちに終了します。

この例では、 ユーザー が無効なパスワードを入力した場合に End ステートメントを使用してコードの実行を終了します。

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

関連項目

サポートとフィードバック

Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。