VBA~ユーザーフォームの表示位置を指定しよう~Excel
ユーザーフォームの表示位置を指定したい時は、StartUpPositionプロパティまたはプロパティウィンドウで指定できます。
StartUpPositionプロパティ
StartUpPositionプロパティの設定値は下の表に対応しています。
設定 | 値 | 説明 |
---|---|---|
Manual | 0 | 初期設定値を指定しません。 |
CenterOwner | 1 | UserForm が属する項目の中央。 |
CenterScreen | 2 | 画面全体の中央。 |
WindowsDefault | 3 | 画面の左上隅。 |
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項目に表示位置の値を指定します。プロパティウィンドウが表示されていない場合はメニューの表示からプロパティウィンドウをクリックすると表示されます。