- Home ›
- Excel VBA入門 ›
- 入力フォームの作成
マルチページの利用
フォーム上で複数の画面を用意し、それぞれの画面で別々のコントロールを配置することが出きるマルチページの利用方法について解説します。
(2022 年 06 月 18 日公開 / 2022 年 06 月 18 日更新)
マルチページを作成する
マルチページを作成する方法を見ていきます。マルチページを作成するにはツールボックス上で下記のアイコンをクリックします。
アイコンをクリックした後でフォーム上でマウスをドラッグしてマルチページを作成します。
タブを追加する
マルチページを作成するとデフォルトでタブが2つ作成されます。タブを設計段階で追加するには以下のように行います。
まずマルチページをクリックします。次のようにマルチページが濃い枠線で囲まれます。
この状態でマルチページのタブの上でマウスを右クリックします。すると次のようなメニューが表示されます。(タブ以外の部分を右クリックすると別のメニューが表示されますので注意して下さい)。
タブを追加するには「新しいページ」をクリックします。すると次のようにタブが追加されます。
各ページにコントロールを配置する
タブストリップと異なりマルチページでは各ページに別々のコントロールを配置できます。
まず「Page1」と書かれたタブをクリックしてからコントロールを配置します。
まず「Page2」と書かれたタブをクリックして下さい。各ページは独立していますので別のコントロールを配置することが出来ます。
オブジェクト名の設定
VBAから操作するにあたってマルチページのオブジェクト名を設定しておきます。マルチページの場合はページ毎に個別のオブジェクト名をプロパティウィンドウで設定することができます。
まず「Page1」と書かれたタブをクリックしてからプロパティウィンドウの「Caption」の箇所を見てください。
オブジェクト名はプロパティウィンドウ上で直接編集が出来ます。今回はオブジェクト名を「page1」に変更します。
他のページのオブジェクト名もそれぞれ「page2」「page3」に変更します。
またマルチページ自身に対するオブジェクト名も設定しておきます。マルチページの枠の部分をクリックしてマルチページ自体を選択して下さい。マルチページが薄い枠線で囲まれた状態がマルチページが選択されている状態です。
ページと同じく「Caption」プロパティでオブジェクト名を変更します。今回はオブジェクト名を「multiPage」とします。
それぞれのページのタブに表示される文字列を設定する
マルチページの各ページのタブに表示される文字列を設定する方法を確認します。表示されている文字列を変更するには「Caption」プロパティを使います。
object.Caption [= String]
オブジェクトの上に表示するオブジェクト名または説明テキストを設定します。 object には設定するオブジェクトを指定します。設定する値の String にはキャプションとして表示されるテキストを示す文字列式を指定します。
「Caption」プロパティは各ページに対して直接値を入力します。実際の使い方としては次のように「マルチページオブジェクト名.ページオブジェクト名.Caption」として設定します。
sampleForm.multiPage.page1.Caption = "入力" sampleForm.multiPage.page2.Caption = "選択"
サンプルプログラム
では簡単なサンプルで試してみましょう。
Sub テスト() Load sampleForm sampleForm.multiPage.page1.Caption = "入力" sampleForm.multiPage.page2.Caption = "選択" sampleForm.multiPage.page3.Caption = "処理" sampleForm.Show End Sub
上記マクロを実行すると次のように表示されます。
-- --
フォーム上で複数の画面を用意し、それぞれの画面で別々のコントロールを配置することが出きるマルチページの利用方法について解説しました。
( Written by Tatsuo Ikura )

著者 / TATSUO IKURA
初心者~中級者の方を対象としたプログラミング方法や開発環境の構築の解説を行うサイトの運営を行っています。