エクセルVBAでユーザーフォームを開く、閉じる!

エクセルVBAでソフトを作成する時、ユーザーフォームにボタンを作って、そのボタンをクリックすると、指定したユーザーフォームが開く、または閉じる!これはVBAで、ソフトを作成する時の基本です。ここでは、エクセルVBAで、指定したユーザフォームを開く、または閉じる方法を紹介しています。ですが、ユーザフォームを開くときに、開いていたユーザフォームが残っているといけません。そこで、ユーザフォームを開くと同時に、開いていたユーザフォームを閉じることもできるようにします。VBAでソフトを初めて作るユーザーにとっては、覚えておきたい方法です。具体的にどんな時に使うのか、最後に説明していますので、すぐ作れるようになります。

 

 

ユーザーフォームを開く

ユーザフォームを開くコードです。フォーム名は「 UserForm1」です。

 UserForm1.Show

ユーザーフォームに作成したボタンをクリックして、ユーザフォームを開くコードです。

Private Sub CommandButton1_Click()
UserForm1.Show
End Sub

フォーム名が「フォームを開く」の場合、次のようになります。

Private Sub CommandButton1_Click()
フォームを開く.Show
End Sub

 

 

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

ユーザフォームを閉じるコードです。

Unload UserForm1

ユーザーフォームに作成したボタンをクリックして、ユーザフォームを閉じるコードです。

Private Sub CommandButton1_Click()
Unload UserForm1
End Sub

フォーム名が「フォームを閉じる」の場合、次のようになります。

Private Sub CommandButton1_Click()
Unload フォームを閉じる
End Sub

 

 

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

ボタンをクリックしてユーザーフォームを開いて閉じる

エクセルVBAで、ユーザフォームを開くと閉じるを同時に行います。

ユーザフォームに作成したボタンをクリックして、指定したユーザフォームを開くと同時に、開いていたユーザフォームを閉じるコードです。

Private Sub CommandButton1_Click()
UserForm1.Show
Unload UserForm1
End Sub

ユーザフォーム名「メニュー」のボタンから、ユーザフォーム名「検索」を開いて、同時にユーザフォーム「メニュー」を閉じる場合、次のようになります。

Private Sub CommandButton1_Click()
メニュー.Show
Unload 検索
End Sub

 

 

サンプル(例)

「検索」ボタンをクリックして、ユーザフォーム名「検索」を開きます。同時に、ユーザフォーム「メニュー」を閉じる、VBAを作成しましょう。

下のフォームは、ユーザーフォーム「メニュー」です。

 

1.ユーザフォーム「メニュー」に、ボタンを作成しています。ここでは、「検索」ボタンの他に、「登録」「一覧表」「修正」「終了」のボタンがあります。

2.「検索」ボタンをクリックしたときに、実行されるイベントを作成しましょう。

Private Sub CommandButton1_Click()
検索.Show
Unload メニュー
End Sub

3.「検索」ボタンを、クリックしましょう。

4.ユーザフォーム「メニュー」が閉じて、ユーザフォーム「検索」が開きました!

ユーザフォームから自由自在にフォームを開く、閉じる

エクセルVBAでソフトを作成するときに、ユーザーフォームを開く、閉じるは必ず必要になる操作です。例えば、データを検索、登録するソフトを作成するとします。まず、VBEを起動させて、ユーザーフォームを作らなければいけません。ソフトの表紙ともいえるメニュー画面が必要です。メニュー画面には、ユーザフォームを開くボタンを作りましょう。必要に応じて、登録するユーザーフォーム、検索するユーザーフォームを作らなければいけません。メニュー画面のボタンから、登録画面を開く、検索画面を開くといった操作ができるようにするには、必ず、ユーザーフォームを開く、閉じるのVBAが必要になります。まずは、ソフト作成の入り口となるVBAを学んで、色々なソフトが作れるようにしましょう。

こちらの記事もご覧ください。⇒エクセルVBAでファイルを閉じる!