トップ > 逆引きで学ぶ ユーザーフォーム&コントロール > 1-8 フォームを破棄する

1-8 フォームを破棄するユーザーフォーム   2021.11.16

次の書籍の第1章~5章を公開しています。
「Excel VBA 逆引きで学ぶ ユーザーフォーム&コントロール」

目次  前頁   次頁  索引

【構文】Unload オブジェクト
ユーザー操作でフォームを閉じる(破棄)するには、ウィンドウの右上隅の[×]を押します。
コードから、フォームを破棄するには、Unloadステートメントを用います。

このステートメントは、フォームのインスタンスをメモリから破棄するため、フォームに入力した値や変更等も破棄されます(Hideメソッドでの非表示ではプロパティ値は保持されます)。


サンプルコード

フォームをクリックするとフォームが破棄される

【UserForm1】
Private Sub UserForm_Click()
    Unload Me 'Unload UserForm1
End Sub

【補足情報】図解:フォームの生成・表示・非表示・破棄

灰色・青色・オレンジ色の図形がフォームの状態を表し、矢印がメソッド・ステートメントの動作を表します。

生成(読み込み) : Loadステートメント
表示 : Showメソッド
非表示 : Hideメソッド
破棄 : Unloadステートメント



コラム② 「Me」とは?

前述「1-8」のサンプルコードでMeというキーワードがでてきました。
Meとは自分自身(のオブジェクト)を指します。つまり、その時の主体によってMeのオブジェクトは変わります。

Meは、主体となるオブジェクトが明確な、イベントと関連しています。
Excelにおいては、次のイベント内でMeを用いることができます。
 ・アプリケーション イベント
 ・ブック イベント
 ・シート イベント
 ・ユーザーフォーム イベント

コマンドボタン等、個々のコントロールイベントはMeの対象外となります。
前述「1-8」のコードは、ユーザーフォームのClickイベントなので、Meはユーザーフォームを表します。
シートのイベントの場合、Meは該当のシートを表します。

先に挙げた4タイプのオブジェクトのイベント内で、Meを用いた記述はできますが、アプリケーションイベントは、クラスモジュールに記述するので、その点は留意が必要です。

[ アプリケーションイベントの詳細 ]


書籍紹介140以上のサンプルファイル付き!

知りたいがすぐわかる! やりたいがすぐできる!
「Excel VBA 逆引きで学ぶ ユーザーフォーム&コントロール」(Kindle版)
ユーザーフォームを扱えると、VBAでできることが大きく広がります!
本書では、知りたいこと、やりたいことから、逆引きで学びを深められます。

■ 購入:amazon

ページトップへ戻る
Copyright(C) 2009- 坂江 保 All Rights Reserved.