トップ > 逆引きで学ぶ ユーザーフォーム&コントロール > 1-4 フォームを複数表示する

1-4 フォームを複数表示するユーザーフォーム   2021.11.16

次の書籍の第1章~5章を公開しています。
「Excel VBA 逆引きで学ぶ ユーザーフォーム&コントロール」

目次  前頁   次頁  索引

フォームを複数表示する方法は、フォームの表示形式によって変わります。

モーダル形式で複数表示

モーダル表示形式で複数のフォームを表示する場合は、フォームのイベント、またはフォームに追加したコントロールのイベントに、別のフォームを表示するコードを記述します。
モーダル表示形式で複数表示するのは、この方法のみになります。

【例】
2つのフォームを準備します。



フォーム1(UserForm1)のClickイベントに、フォーム2を表示するコードを記述します。

【UserForm1】
Private Sub UserForm_Click()
    UserForm2.Show
End Sub

【標準モジュール】
Sub Form_Show_Modal()
    UserForm1.Show vbModal
End Sub



モードレス形式で複数表示

モードレス表示形式で複数のフォームを表示にする場合は、前述の方法以外に、フォームの表示コードを、2つ続けて記述する方法があります。
その際、1つ目のフォーム表示をモードレス形式にします。


【標準モジュール】
Sub Form_Show_Modeless()
    UserForm1.Show vbModeless
    UserForm2.Show
End Sub

モードレス形式のコードを実行した場合、フォームが表示された後、続きのコードを実行されるため、このような方法での表示が可能になります。


複数のフォームを行き来しながらの操作

複数のフォームを併用する場合は、併用する全てのフォームを、モードレス表示にする必要があります。


【標準モジュール】
Sub Form_Show_Modeless()
    UserForm1.Show vbModeless
    UserForm2.Show vbModeless
End Sub



コラム① プロパティとは?

プロパティとは、オブジェクトの属性や性質のことで、それがどのようなものかを表す情報にあたります。
オブジェクトとは、Excelで操作できる対象で、ブックやシート、セル、ユーザーフォーム等、多岐にわたります。
次は、オブジェクトとプロパティの例です。

【例】フォントの色
FontオブジェクトのColorプロパティ

プロパティの設定は、数値・テキスト等の値で行います。
多くのプロパティは値の取得と設定ができますが、値の設定ができない取得のみのプロパティも存在します。

ユーザーフォームでは、フォーム自体と、フォームに追加できるコントロール全てに、プロパティが備わっています。

【例】ユーザーフォームの幅
UserFormオブジェクトのWidthプロパティ

【例】テキストボックスの値
TextBoxオブジェクトのValueプロパティ

このように、あるオブジェクトに付随するプロパティやメソッドを、そのオブジェクトのメンバーと言います。


書籍紹介140以上のサンプルファイル付き!

知りたいがすぐわかる! やりたいがすぐできる!
「Excel VBA 逆引きで学ぶ ユーザーフォーム&コントロール」(Kindle版)
ユーザーフォームを扱えると、VBAでできることが大きく広がります!
本書では、知りたいこと、やりたいことから、逆引きで学びを深められます。

■ 購入:amazon

ページトップへ戻る
Copyright(C) 2009- 坂江 保 All Rights Reserved.