ユーザーフォームを閉じる(Unload文)
VBA のプログラムの中からユーザーフォームを閉じる方法です。 Unload 文を使ってユーザーフォームのオブジェクトをメモリから削除します。結果としてユーザーフォームが閉じることになります。ここでは Excel のユーザーフォームで VBA を使ってユーザーフォームを閉じる方法について解説します。
(Last modified: )
目次
ユーザーフォームを閉じる
ユーザーフォームを VBA のプログラムの中から閉じるには Unload
文を使用します。 Unload
文を実行するとメモリから対象のオブジェクトが削除されます。書式は次のとおりです。
Unload object
メモリから削除するオブジェクトを指定してください。例えば表示されている UserForm1
オブジェクトをメモリから削除するには次のように記述します。
Option Explicit Sub テスト() Unload UserForm1 End Sub
ユーザーフォームを閉じるのではなく一時的に非表示にする場合は Hide
メソッドを使用します。詳しい使い方については「ユーザーフォームを非表示にする(Hideメソッド)」を参照されてください。
それでは簡単なサンプルを作成して試してみます。
あらかじめ次のようなユーザーフォームを作成しています。ユーザーフォームのオブジェクト名は UserForm1
です。また設置されているコマンドボタンのオブジェクト名は CommandButton1
です。
標準モジュールの中のモジュールに次のようにプログラムを記述しました。(モジュールを追加してコードウィンドウを表示する方法については「VBAプログラムの作成と実行」を参照されてください)。
Option Explicit Sub テスト() UserForm1.Show End Sub
コマンドボタンをクリックしたらユーザーフォームを閉じるように設定します。コマンドボタンをダブルクリックしてください。次のようにコマンドボタンに対する Click
イベントのイベントプロシージャが表示されます。
イベントプロシージャに次のように記述してください。コマンドボタンがクリックされると、 UserForm1
オブジェクトがメモリから削除されます。
Private Sub CommandButton1_Click() Unload UserForm1 End Sub
それではプログラムを実行してみます。「Sub/ユーザーフォームの実行」をクリックしてください。
プログラムが実行されてユーザーフォームが表示されました。
ユーザーフォームに設置されているコマンドボタンをクリックしてください。メモリからユーザーフォームが削除されてユーザーフォームが閉じます。
-- --
Excel のユーザーフォームで VBA を使ってユーザーフォームを閉じる方法について解説しました。
( Written by Tatsuo Ikura )
著者 / TATSUO IKURA
これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。