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 Code Examples Add-in

Easily access all of the code examples found on our site.

Simply navigate to the menu, click, and the code will be inserted directly into your module. .xlam add-in.

(No installation required!)

Free Download

Return to VBA Code Examples