OfficeType

VBA~ユーザーフォームの表示位置を指定しよう~Excel

ユーザーフォームの表示位置を指定したい時は、StartUpPositionプロパティまたはプロパティウィンドウで指定できます。

StartUpPositionプロパティ

StartUpPositionプロパティの設定値は下の表に対応しています。

設定説明
Manual0初期設定値を指定しません。
CenterOwner1UserForm が属する項目の中央。
CenterScreen2画面全体の中央。
WindowsDefault3画面の左上隅。

UserForm1というユーザーフォームを作成した場合、下のコードを実行するとユーザーフォームがエクセルの中央に表示されます。

Sub test1()

Load UserForm1
UserForm1.StartUpPosition = 1
UserForm1.Show

End Sub

自分で表示位置を指定する

自分で表示位置を指定したい場合はStartUpPositionプロパティを0に指定しTopプロパティとLeftプロパティで位置を指定します。

UserForm1というユーザーフォームを作成した場合、下のコードを実行するとユーザーフォームの上辺が100、左辺が100の位置に表示されます。

Sub test2()

Load UserForm1
UserForm1.StartUpPosition = 0
UserForm1.Top = 100
UserForm1.Left = 100
UserForm1.Show

End Sub

プロパティウィンドウで指定

プロパティウィンドウでユーザーフォームの表示位置を指定したい場合は作成したユーザーフォームをクリックするとプロパティウィンドウにStartUpPosition、Top、Leftの項目があるのでStartUpPositionの項目を0-手動に指定し、Top項目とLeft項目に表示位置の値を指定します。プロパティウィンドウが表示されていない場合はメニューの表示からプロパティウィンドウをクリックすると表示されます。