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

userformeyecatch

エクセルVBA ユーザーフォームを設置します。
今回はフォームのベースとなる部分を解説します。
挿入と表示は簡単に行うことが出来ます。

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

エクセルで作業を自動化する。

日常業務を効率よく時短したい場合、エクセルがあまり得意でない人は特に、

習得すべき知識量(解決すべき課題)がたくさんありすぎると思われている方も多いでしょう。

今回は、その習得すべき知識の一つ「ユーザーフォーム作成」についてです。

ユーザーフォームの挿入

userformsetp009

ユーザーフォームを挿入するためには、まず最初にVBE(ビジュアルベーシックエディタ)が開かれていなければなりません。

VBE(ビジュアルベーシックエディタ)の開き方が分からないという方は、以下の記事で確認してください。

VBA初めての起動。VBEの立ち上げ、保存と終了

「挿入タブ」で「ユーザーフォーム」をクリック

userformsetp001
矢印下001

「UserForm1」が挿入されました。

同時に「ツールボックス」も表示されます。

userformsetp002

ユーザーフォームの大きさの変更はマウスで「 ”□” または “■” 」をドラッグすることで行えます。

これで、全く無地のユーザーフォームを設置することが出来ました。

では、実際にはどのように表示されているのかを見てみることにします。

ユーザーフォームの表示

userformsetp010

ユーザーフォームを表示するためには、その動きをするVBAコード(プロシージャー)を記述する必要があります。

記述する構文としては、

「ユーザーフォーム名(オブジェクト名)」+「Showメソッド」

という至って簡単な記述でOKです。

どこに記述するかはいくつかのパターンがありますが、

とりあえず、一番わかりやすい場所として標準モジュール「Module1」に記述します。

標準モジュールの挿入方法は、「挿入タブ」で「標準モジュール」をクリック

userformsetp003

Module1が表示されたところで、以下のコードを記述します。

VBA
Option Explicit

Sub ユーザーフォーム表示()
        UserForm1.Show
End Sub
userformsetp004

モーダルとモードレス

この「UserForm1.Show」というコードを実行したときには、ユーザーフォームが確かに表示されますが、表示されている間はエクセルについての他の操作が一切行うことが出来ません。

・・・モーダル表示と言います。メッセージボックスで「OK」クリックまで他操作が出来ない状態と同じです。

「vbModal」は省略可能です。

VBA
Sub ユーザーフォーム表示1()
        UserForm1.Show vbModal
End Sub

対して、ユーザーフォームが表示されている時でも、エクセルで他の操作が可能になる表示モードがあります。

アクティブなシートからその都度データを拾いプログラムに利用することも可能になります。

・・・モードレス表示と言います。

VBA
Sub ユーザーフォーム表示2()
        UserForm1.Show vbModeless
End Sub

ユーザーフォームの名前変更

userformsetp011

ユーザーフォームの名称が「UserForm1」では、プログラム作成するに当たってあまり嬉しくはないことの方が多いでしょう。

名称を変更するには、「ユーザーフォームのプロパティ」を操作することで可能になります。

プロパティの表示方法は、「表示タブ」で「プロパティウインドウ」をクリックします。

userformsetp005
userformsetp006
矢印下001

上の赤枠の項目の指定内容を変更することでユーザーフォームを自由な名称に設定することが可能です。

userformsetp007

オブジェクト名はVBAコード記述時に使用します。

VBA
Sub ユーザーフォーム表示3()
        ユーザーフォーム例.Show vbModeless
End Sub

Captionはユーザーフォーム上の名称表示となります

userformsetp008

FontとForeColorはこの部分での変更は特に反映されるものはありません。(意味を持ちません)

まとめ

userformsetp012

UIであるユーザーフォームは、作成したプログラムの使い勝手に直接影響する大切な部分です。

同じ機能であってもそのボタンを設置する位置や文字表示だけでも利用者の使い勝手に影響してくるものです。

今回はそういったもののベース部分を説明しました。

でも、やっていることは至極簡単な内容ですので、構えずにサクッと熟していけるのではないでしょうか。

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

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

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

「エクセルVBA最速理解」の記事一覧を開く

「エクセルVBA業務ツール」の記事一覧を開く

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