タブでページを切り替えて使う、マルチページコントロールの使い方
![タブでページを切り替えて使う、マルチページコントロールの使い方](gazo2023/macro_2023_userform_12m.png)
動画でExcel タブでページを切り替えて使う、マルチページコントロールの使い方
【VBAユーザーフォーム】タブでページを切り替えて使う、マルチページコントロールの使い方。基礎編第12回
タブでページを切り替えて使う、マルチページコントロールの使い方動画版「ユーザーフォーム講座」です。
マルチ ページ ( MultiPage) コントロールは、どんな場面で便利なのでしょうか?
いくつものグループやカテゴリに分かれた大きなデータを扱う時になどに便利です。
同じコントロールでは処理しきれず、複数のフォームを使うことが想定される場合なども、1つのフォームで頁を切り替えて使えるので、ユーザーにとって負担が少ないでしょう。
マクロ動画 タブでページを切り替えて使う、マルチページコントロールの使い方
マルチページコントロールの作成
マルチページはページごとに異なるコントロールを持つことができるフォームのコントロールです。
ただそれだけ1つのフォームに たくさんのコントロールを配置するということになりますから、
メンテナンスは後々かなり大変かもしれません。
![NAMAE1](gazo2023/macro_2023_userform_12m_01.png)
前回はフレームで、グループを分けて使いやすく、操作しやすくするという内容でしたが、 マルチページは、それ以上にしっかりとページを分けて区別するということになります。
![NAMAE2](gazo2023/macro_2023_userform_12m_02.png)
マルチページコントロールをフォームに作成します。
ツールボックスから、マルチページというコントロールをクリックして
好きな位置で好きな大きさのページをクリックして作成します。
![NAMAE3](gazo2023/macro_2023_userform_12m_03.png)
マルチページが作成されました。デフォルトでは2ページです。
![NAMAE4](gazo2023/macro_2023_userform_12m_04.png)
ページ1をクリックするとPageオブジェクトのPage1のプロパティが表示されます。
ページ2をクリックすればページ2のプロパティになります。
![NAMAE5](gazo2023/macro_2023_userform_12m_05.png)
マルチページのページを追加
ページを一つ増やしたい時は、
右クリックして新しいページとを選択します。
右クリックからは、ページの削除、名前の変更などができます。
新しいページを追加して3ページにしました。
![NAMAE6](gazo2023/macro_2023_userform_12m_06.png)
ページ1、ページ2、ページ3とあり、 このタブをクリックするたびに 表示するページが変わります。このページのタイトルは、PageのプロパティにあるCaptionからお好きなように タブタイトルを変更してください。
![NAMAE7](gazo2023/macro_2023_userform_12m_07.png)
マルチページのタブをボタン風に変更
マルチページの外側をクリックして、選択状態を小さなドットになるようにすると、
マルチページ全体を選択しているということになり、マルチページのプロパティを変更できるようになります。
その選択でプロパティウィンドーにあるStyleから、Tab,Button,None のいずれかを選ぶことができます。
![NAMAE8](gazo2023/macro_2023_userform_12m_08.png)
Buttonsを選択したので、見かけ上はボタンのように見えます。
![NAMAE9](gazo2023/macro_2023_userform_12m_09.png)
TabOrientation
タブオリエンテーションは、タブの位置です。
デフォルトではTop です。,
他の位置に移動したい場合、Top以外にBottom,Left,Rightの方向に移動ができます。
![NAMAE10](gazo2023/macro_2023_userform_12m_10.png)
ページの切り替えがタブだけでは、使いにくい場合もあるかもしれないので、
次の頁へ移動するためのボタンを作成しました。いっしょに閉じるボタンも作成しました。以下がそのコードです。
![NAMAE11](gazo2023/macro_2023_userform_12m_11.png)
Private Sub btn_exit_Click() Unload Me End Sub Private Sub btn_tugi_Click() Dim 数 As Long Dim ページ As Long 数 = MultiPage1.Pages.Count ページ = MultiPage1.Value ページ = (ページ + 1) Mod 数 MultiPage1.Value = ページ End Sub
マルチページのユーザーフォ0ムを起動して動作を確認しました。
![NAMAE12](gazo2023/macro_2023_userform_12m_12.png)