1-4 フォームを複数表示するユーザーフォーム 2021.11.16
次の書籍の第1章~5章を公開しています。
「Excel VBA 逆引きで学ぶ ユーザーフォーム&コントロール」
フォームを複数表示する方法は、フォームの表示形式によって変わります。
モーダル形式で複数表示
モーダル表示形式で複数のフォームを表示する場合は、フォームのイベント、またはフォームに追加したコントロールのイベントに、別のフォームを表示するコードを記述します。
モーダル表示形式で複数表示するのは、この方法のみになります。
【例】
2つのフォームを準備します。
フォーム1(UserForm1)のClickイベントに、フォーム2を表示するコードを記述します。
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