マルチページをユーザーフォームに設置する

userformmultieyecatch

ユーザーフォームにマルチページを設置します。
マルチページは設定できる項目がたくさんありますが、実際に使わない部分も多いので取捨選択も行っておきましょう。

こんにちは、じゅんぱ店長(@junpa33)です。

ユーザーフォームにマルチページを設置します。

ページタブを使って、ユーザーフォームに表示される内容をページを繰るように切り替える機能です。

タブによるページ分けによって、表示するコマンドボタン、テキストボックスなどを切り替えることが出来ます。

マルチページを設置する

userformmultip021

マルチページを設置するには、最初にユーザーフォームが表示されていることが必要です。

ユーザーフォームの表示設定が分からない時は、

ユーザーフォームの挿入と表示は簡単 エクセルVBA

で確認しておいてください。

マルチページをツールボックスで選択

ツールボックスからマルチページを選択します。

userformmultip001

カーソルをドラッグしてサイズを決めます。

userformmultip002
矢印下001
userformmultip003

マルチページがが設置されました。(デフォルトでは2ページの設定になっています。)

「□マーク」でボタンサイズや設置位置はいつでも変更が可能です。

マルチページの主な設定方法

マルチページを設置する上では、結構細かな部分まで設定できる項目が準備されています。

「マルチ」というだけあって、” こんなの普段使わんわ!”という部分もあります。

なので、主な、これ知ってれば使えるという部分を説明します。

ページ数を追加する

マルチページのページタブの部分にカーソルを合わせて右クリックメニューを表示させる。

「新しいページ」を選択するとページが追加される。

userformmultip005

ページ名称を変更する

ページの名前を変更します。

マルチページのページタブの部分にカーソルを合わせて右クリックメニューを表示させる。

「名前の変更…」を選択すると「名前の変更」ウインドウが表示されます。今回は「都道府県」ページに変更します。

userformmultip009
矢印下001
userformmultip010
矢印下001

「Page1」が「都道府県」ページと変更されました。

userformmultip011

ページ名の文字スタイルを変更する

ページ名の文字スタイルを変更します。

文字スタイルを変更するには、「マルチページプロパティ」を表示する必要があります。

userformmultip012

例えばユーザーフォームのプロパティ(この例では「ユーザーフォーム例 User Form」)の表示項目の右のプルダウンメニューからマルチページ(この例では「MultiPage1 MultiPage」)を選択します。

マルチページプロパティが表示されます。

赤枠の部分を変更します。

userformmultip013
矢印下001
userformmultip014
userformmultip015

見やすく変更されました。

ページの順番を変更する

ページの順番を変更したい時があります。

その時は同じくマルチページのページタブの部分にカーソルを合わせて右クリックメニューを表示させます。

「移動…」を選択します。

userformmultip006
矢印下001

ページの順序ウインドウが表示されるので、選択したページを上下に移動させて順番変更を行います。

userformmultip007
矢印下001

順番が「Page3」→「Page1」→「Page2」となりました。

userformmultip008

その他の使える設定変更

マルチページを設置した見え方で、ページ右と下の ” 濃い影 ” はいらない場合の設定です。

マルチページのプロパティから変更します。Styleの項目を変更します。

userformmultip016
矢印下001

「0-fmTabStyleTabs」から「1-fmTabStyleButtons」に変更しました。

userformmultip017
userformmultip018

それぞれのページにコントロールを配置

マルチページのそれぞれのページにコントロールを配置します。

ページを選択した上で、コントロールボックスからコマンドボタンを選択して配置します。

(都道府県ページ)

userformmultip019

(Page2)

userformmultip020

ページに配置したコントロールは、そのページが表示されている時のみ表示されます。(見ることが出来ます。)

ページが変わればそのコントロールは表示されません。

コントロールと動作コードとの関連付け

各ページに設置したコントロールは、動作コードとどのように関連付けされるのか?

設置したコントロールはあくまでも「オブジェクト名」で呼び出されます。従来からのルールと変わりません。

なのでどのページにコントロールが配置されようとも、その「オブジェクト名」は一つのプロジェクト内においては、あくまでも唯一無二なものになります。

仮にページを跨いだとしても同じ「オブジェクト名」は許されません。

ですので、上のサンプルの「CommandButton1」の名前は同じプロジェクト内で1つしかなく、そのコントロールのイベント指定コードも変わりはありません。

(ユーザーフォームモジュールでの記述)

VBA
Private Sub CommandButton1_Click()

End Sub
VBA
Private Sub CommandButton2_Click()

End Sub

まとめ

userformmultip022

マルチページをユーザーフォームに設置する方法を説明しました。

色々細かい設定が可能なマルチページですが、実際に利用するに当たっては、そんなに多くの設定を調整する必要は無いでしょう。

細かく使い方説明を行なえば行うほど、理解するのが難しくなってしまいます。

「SIMPLE is BEST」+必要に応じて知識を追加で良いでしょう。

エクセルVBAを独習するのに参考書は欠かせません。 参考書選びは自分に合った「相棒」にできるものを選んでいきたいです。

vbastudyeyecatch2 エクセルVBAの独習でおすすめ参考書を7冊選ぶ。良書との出会いは大切です

今回の記事はここまでです。   最後までご覧いただき有難うございました。

エクセルVBA最速理解で必要な知識を集めよう!

エクセルVBA業務ツールで日常の業務改善を行いましょう。

VBAコードの記述記事においては、その記述には細心の注意をしたつもりですが、掲載のVBAコードは動作を保証するものではりません。 あくまでVBAの情報の一例として掲載しています。 掲載のVBAコードのご使用は、自己責任でご判断ください。 万一データ破損等の損害が発生しても当方では責任は負いません。