VBAでのユーザーフォームの使い方とプロパティおよびイベント

ユーザーフォームはラベルやコマンドボタンなどのコントロールを設置する土台となる部分です。ここでは VBA のプログラムからユーザーフォームを使用する方法、およびユーザーフォームのプロパティとイベントの一覧について解説します。

(Last modified: )

ユーザーフォームのプロパティ一覧と利用方法

ユーザーフォームで利用可能なプロパティ一覧は次の通りです。

BackColor
BorderColor
BorderStyle
Caption
Cycle
DrawBuffer
Enabled
Font
ForeColor
Height
HelpContextID
KeepScrollBarsVisible
Left
MouseIcon
MousePointer
Picture
PictureAlignment
PictureSizeMode
PictureTiling
RightToLeft
ScrollBars
ScrollHeight
ScrollLeft
ScrollTop
ScrollWidth
ShowModal
SpecialEffect
StartUpPosition
Tag
Top
WhatsThisButton
WhatsThisHelp
Width
Zoom

ユーザーフォームを表示する位置については StartUpPosition プロパティ、 Top プロパティ、 Leftプロパティを組み合わせて指定します。詳しい使い方については「ユーザーフォームを表示する位置を設定する(StartUpPosition,Top,Leftプロパティ)」で解説しています。

その他のいくつかのプロパティについてはこのあと簡単に解説します。

ユーザーフォームのタイトルを設定する(Caption)

ユーザーフォームのタイトルバーに表示される文字列を設定するには Caption プロパティに値を設定します。

オブジェクト.Caption [= String ]

タイトルに設定する文字列を代入してください。

具体的には次のように記述します。

Option Explicit

Sub テスト()
    Load UserForm1
    UserForm1.Caption = "問い合わせ"
    UserForm1.Show
End Sub

ユーザーフォームのタイトルを設定する(Caption)(1)

プログラムを実行すると表示されたユーザーフォームのタイトルが指定した値に設定されているのが確認できます。

ユーザーフォームのタイトルを設定する(Caption)(2)

ユーザーフォームの幅と高さを設定する(Width,Height)

ユーザーフォームの幅と高さを設定するには幅については Width プロパティ、高さについては Height プロパティに値を設定します。

オブジェクト.Width [= Single ]
オブジェクト.Height [= Single ]

幅および高さをあらわす単精度浮動小数点型の数値を代入してください。単位はポイントです。

具体的には次のように記述します。

Option Explicit

Sub テスト()
    Load UserForm1
    UserForm1.Width = 400
    UserForm1.Height = 200
    UserForm1.Show
End Sub

ユーザーフォームの幅と高さを設定する(Width,Height)(1)

プログラムを実行すると表示されたユーザーフォームの幅および高さが指定した値に設定されているのが確認できます。

ユーザーフォームの幅と高さを設定する(Width,Height)(2)

ユーザーフォームの背景色を設定する(BackColor)

ユーザーフォームの背景色を設定するには BackColor プロパティに値を設定します。

オブジェクト.BackColor [= Long ]

色を表す長整数型の値を代入します。値は Windows のシステムカラーを表す値や定数、または青緑赤の値を使った色を表す値を代入します。

具体的には次のように記述します。今回は RGB 関数を使って色を指定しました。( RGB 関数の使い方については「RGB関数:色を表す数値を取得する」を参照されてください)

Option Explicit

Sub テスト()
    Load UserForm1
    UserForm1.BackColor = RGB(200, 0, 0)
    UserForm1.Show
End Sub

ユーザーフォームの背景色を設定する(BackColor)(1)

プログラムを実行すると表示されたユーザーフォームの背景色が指定した値に設定されているのが確認できます。

ユーザーフォームの背景色を設定する(BackColor)(2)

ユーザーフォームのイベント一覧

ユーザーフォームで発生するイベント一覧は次の通りです。

Activate
AddControl
BeforeDragOver
BeforeDropOrPaste
Click
DblClick
Deactivate
Error
Initialize
KeyDown
KeyPress
KeyUp
Layout
MouseDown
MouseMove
MouseUp
QueryClose
RemoveControl
Resize
Scroll
Terminate
Zoom

ユーザーフォームの既定のイベントは Click イベントです。

-- --

VBA のプログラムからユーザーフォームを使用する方法、およびユーザーフォームのプロパティとイベントの一覧について解説しました。

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

プログラミングや開発環境構築の解説サイトを運営しています。