今回は知識編、マルチページの設置方法です。
ユーザーフォームはマルチページでデザイン数も広がります。
使ってみる前は難しく思えますが、設置は至って簡単!非表示化で秘密コマンドも作れます。
こんにちは、じゅんぱ店長(@junpa33)です。
エクセルVBAで使って便利なのが、ユーザーフォーム
そのユーザーフォームのコントロールの中で使って便利なのが、「マルチページ」です。
結構 そのように思われている方も多いのではないでしょうか。
と、言うことで、今回は、「マルチページ」の設置の方法についてまず最初に、基本部分を説明したします。
マルチページを設置した実例はこちら↓でご覧になります。
封筒宛名印刷エクセルソフトの無料DLと取説 ユーザーフォームのVBAで領収書の印刷をコントロールする方法プチなVBAコード記事シリーズは他にもこのようなものがあります。
コンテンツ
エクセルVBAマルチページを始めから作成する
ユーザーフォームにマルチページを配置
コントロールから「マルチページ」を選択し、ユーザーフォーム上で展開します。
プロパティリストの中でCaptionの項目を「Page1」から「その1」に変更します。
ここは、各ページタブの名称を変更・決定する部分です。適宜変更することが出来ます。
マルチページをアクティブ(マウスで左クリック)します。
次に、タブの上で右クリックして「新しいページ」を選択します。
タブのところで右クリックすると表示されるメニューから「移動」を選択する。
表示された「ページの順序」で変更できます。
マルチページにコマンドボタンを置く
「その1」ページにコマンドボタンを置きます。いつも通りにツールボックスから選んで「その1」に設置します。
同じように「その2」ページを選択表示したときには、「その1」ページのコマンドボタンは背後に回って表示されません。
同様に「その2」ページにもコマンドボタンを置きます。
ユーザーフォーム1のモジュールを確認すると、設置ページなどの区別なく、シンプルにコントロール毎に表記されている。
マルチページ1のプロパティ「Style」を変更してみる
「0-fmTabStyleTabs」
デフォルトの設定です。
「1-fmTabStyleButtons」
タブがトグルボタン式に際立って表示されます。
「2-fmTabOrientationTop」
トップページの表示だけ残り、マルチページそのものをアンビジブルにします。
秘密鍵コードで非表示化
作成の流れ
- ユーザーフォームにマルチページを設置。
- 隠しページに隠したいコントロールを設置
- TOPページに表示して良いコントロールを設置
- 「秘密鍵」を実行するスイッチをユーザーフォームに設置
- ユーザーフォームモジュールに、マルチページの「Style」プロパティを操作するコードを記入
それぞれのコントロールを設置する
「Page1」はTOPページとしてマルチページのステルス後にも見える部分になります。
「Page2」以降は秘密鍵による隠しページになります。
簡単には、コマンドボタンやトグルボタンを設置すればよいのですが、あまり「秘密の意味」がなくなってしまいますので、
ちょっとした「これかぁ~」というようなものを設置したいと思います。ちょっと遊び気分で作りましょう。
分かり易い例でいえば、
「今日の天気」というCaptionのフレームに、「晴れ」・「曇り」・「雨」・「台風」のオプションボタンを設置します。
特定の天気を選択したあと、黄色のラベルをクリックするとマルチページのStyleプロパティを切り替えるスイッチが入ります。
コントロールの設置方法は、ツールボックスよりコントロールを選択して行ってください。
「黄色のラベル」はユーザーフォームのベース色と同色にすると場所の所在が消えますので、より秘密のスイッチ的になります。
「曇り」を選択して「黄色ラベル(この場合Label3)」をクリックするとマルチページがアンビジブルになります。
「雨」を選択して「黄色ラベル(この場合Label3)」をクリックするとマルチページがビジブルになります。
With~End Withの使い方。VBAコードを簡潔に記述するPrivate Sub Label3_Click()
If OptionButton2 = True Then
With MultiPage1
.page2.Visible = False
.Style = 2
End With
ElseIf OptionButton3 = True Then
With MultiPage1
.page2.Visible = True
.Style = 1
End With
Else
Exit Sub
End If
End Sub
マルチページの設置 まとめ
VBAのユーザーフォームというと結構難しく考える人も多いかと思いますが、
このマルチページを取ってみても、説明しましたように、結構簡単に設置することが出来ました。
さらに、ちょっとプロパティを変化させれば、こういった隠しページも作る事が出来ました。
いつも、ビジネス色が強いエクセルVBAですが、楽しみながら作業が出来れば、また気分も違ったことになるのではと思うこの頃です。
エクセルVBAを独習するのに参考書は欠かせません。 参考書選びは自分に合った「相棒」にできるものを選んでいきたいです。
エクセルVBAの独習でおすすめ参考書を7冊選ぶ。良書との出会いは大切です今回の記事はここまでです。 最後までご覧いただき有難うございました。
<記事内容についての告知>
VBAコードの記述記事においては、その記述には細心の注意をしたつもりですが、掲載のVBAコードは動作を保証するものではりません。 あくまでVBAの情報の一例として掲載しています。 掲載のVBAコードのご使用は、自己責任でご判断ください。 万一データ破損等の損害が発生しても当方では責任は負いません。
アンケートでポイ活しよう!!
アンケートに答えれば答えるほど ”使える” ポイントがたまります。