ユーザーフォームの位置は、StartUpPositionプロパティで下記の設定が可能です。
VBAで指定した位置に配置したい場合は、「0 - 手動」にセットします。
ユーザーフォームの位置を指定するには、LEFTとTOPプロパティを使います。
LEFTプロパティはフォームの左位置、TOPプロパティはフォームの上位置です。
位置の基準はExcel画面でなく、Windows画面(デスクトップ)が基準になります。
自身のフォームから指定する場合は、Meキーワードを使用することが可能です。
ここでは、ユーザーフォームが開く直前に実行する、Initializeイベント内で位置指定のVBAを実行します。
応用例としては、ユーザーフォームが閉じる直前に左上位置を保存し、次回開く時にその値をセットします。
これにより前回と同じ位置で開くので、操作者は違和感なく、操作し易い位置で常に使用できるようになります。
関連する記事として「Excel:ユーザーフォームの作成方法 - コントロールの挿入方法」を掲載していますので参照してください。
Excelユーザーフォームの「StartUpPosition プロパティ」を「0-手動」にします。
ユーザーフォームが開く直前に実行する、Initializeイベント内に記述します。
下画像はExcelからユーザーフォームを開いた画面で、Excel画面がユーザーフォームの下にあります。
左位置50、上位置10の座標を指定しています。
この画像により呼び出したExcel画面ではなく、Windows画面(デスクトップ)が基準になっていることが分かります。
■■■
このサイトの内容を利用して発生した、いかなる問題にも一切責任は負いませんのでご了承下さい
■■■
当ホームページに掲載されているあらゆる内容の無許可転載・転用を禁止します