VBA ユーザーフォームを開く、閉じる
In this Article
このチュートリアルでは、VBAを使用してユーザーフォームを初期化、オープン、クローズする方法を学びます。 今回は、ラベル、テキストボックス、3つのコマンドボタンからなる、下図のbasicUserformというシンプルなユーザーフォームを作成しました。
VBAでユーザーフォームを開く
basicUserformというユーザーフォームを開くには、Showコマンドを使用します。
basicUserform.Show
VBAでユーザーフォームを閉じる
フォームを閉じるには、Unload コマンドを使用します。
Unload basicUserform
これにより、実行中のコードの中からユーザーフォームを閉じることができます。 代わりに、Me キーワードを使用して、フォームのコードモジュール内でフォームを閉じることもできます。
Unload Me
注:Unload Meは、ユーザーフォームコードモジュールに含まれるプロシージャでのみ使用することができます。
上の例では、キャンセルボタンの「クリック」イベントに「Unload Me」を追加していることに注目してください。つまり、ユーザーがキャンセルボタンをクリックすると、フォームがアンロードされるのです。 ユーザーフォームコードモジュールにアクセスするには、コードエクスプローラ(左側)でモジュールをダブルクリックします。または、ユーザーフォームビジュアルエディタで右クリックすることでもアクセスできます。
VBAでユーザフォームを初期化する
フォームが読み込まれると、Initializeイベントがトリガーされます。このイベントを利用して、初期化コード内でコンボボックスへの入力やコントロールのオン/オフなど、ユーザーフォームの外観を変更することができます。 このコードでは、ユーザーフォームの起動時にCancelボタンを無効にします。
Private Sub UserForm_Initialize()
cmdCancel.Enabled = False
End Sub
注:このコードは、ユーザーフォームコードモジュールに配置する必要があります(上の図を参照)。