VBA ユーザーフォームを開く、閉じる

Written by

Editorial Team

Reviewed by

Steve Rynearson

Translated by

masahiro yoshida

Last updated on 4月 17, 2022

このチュートリアルでは、VBAを使用してユーザーフォームを初期化、オープン、クローズする方法を学びます。 今回は、ラベル、テキストボックス、3つのコマンドボタンからなる、下図のbasicUserformというシンプルなユーザーフォームを作成しました。

Basic UserForm in VBA ユーザーフォーム

VBAでユーザーフォームを開く

basicUserformというユーザーフォームを開くには、Showコマンドを使用します。

basicUserform.Show

VBAでユーザーフォームを閉じる

フォームを閉じるには、Unload コマンドを使用します。

Unload basicUserform

これにより、実行中のコードの中からユーザーフォームを閉じることができます。 代わりに、Me キーワードを使用して、フォームのコードモジュール内でフォームを閉じることもできます。

Unload Me

注:Unload Meは、ユーザーフォームコードモジュールに含まれるプロシージャでのみ使用することができます。

vba userform unload me ユーザーフォーム

上の例では、キャンセルボタンの「クリック」イベントに「Unload Me」を追加していることに注目してください。つまり、ユーザーがキャンセルボタンをクリックすると、フォームがアンロードされるのです。 ユーザーフォームコードモジュールにアクセスするには、コードエクスプローラ(左側)でモジュールをダブルクリックします。または、ユーザーフォームビジュアルエディタで右クリックすることでもアクセスできます。

VBAでユーザフォームを初期化する

フォームが読み込まれると、Initializeイベントがトリガーされます。このイベントを利用して、初期化コード内でコンボボックスへの入力やコントロールのオン/オフなど、ユーザーフォームの外観を変更することができます。 このコードでは、ユーザーフォームの起動時にCancelボタンを無効にします。

Private Sub UserForm_Initialize()

cmdCancel.Enabled = False

End Sub

Using the Initialize Event in VBA ユーザーフォーム 初期化

注:このコードは、ユーザーフォームコードモジュールに配置する必要があります(上の図を参照)。

vba-free-addin

VBAコード例アドイン

当サイトで紹介しているすべてのコード例に簡単にアクセス可能。

メニューから選択してクリックするだけで、コードがモジュールに直接挿入されます(.xlam アドイン)。

(インストール不要!)

無料ダウンロード

VBAコード例に戻る