こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

エクセル ユーザーフォームの位置

ブックを閉じた時のユーザーフォームの位置を、次回ブックを開いた時に同じ位置で表示したいです。
以下のコードでユーザーフォームは閉じれないようになっています。

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If CloseMode = vbFormControlMenu Then
Cancel = True
End If
End Sub

この場合でも、前回と同じ位置でのユーザーフォームの表示は可能でしょうか?
可能な場合はどのようにしたらいいでしょうか?

投稿日時 - 2019-05-26 20:47:48

QNo.9620363

困ってます

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.3

レジストリに終了時の位置を保存しておくという手もあります。
レジストリを使う
http://officetanaka.net/excel/vba/tips/tips43.htm

投稿日時 - 2019-05-27 07:41:08

お礼

いろいろな?を見て何とかできるようになりました。
ありがとうございました。

投稿日時 - 2019-05-28 21:00:57

ANo.2

画面中央、などのだいたいの位置でいいならプロパティ指定で可能なようです
https://www.officepro.jp/excelvbaform/form_form/index4.html

後はブック内でもテキストファイルでも、規定の位置を書き出しておいて、起動時に読み出せば詳細な設定は可能です。

投稿日時 - 2019-05-26 22:41:39

お礼

自分だけが使うファイルではなかったので、前回の位置で表示させたかったです。
回答ありがとうございます。

投稿日時 - 2019-05-28 21:05:13

ANo.1

Excelで何らかの値を終了後も覚えさせたい場合、外部ファイルに保存するのでなければ、シートの中に非表示のテキストボックスを作って値を記憶させれば確実です。
テキストボックスではなくセルに入れても構いませんがテキストボックスよりも値を弄られやすいというデメリットがあります。

位置を取得したり設定するのはフォームのオブジェクト名に.Leftや.Topや.Widthや.Heightをつければ値にアクセスできます。

投稿日時 - 2019-05-26 21:20:07

あなたにオススメの質問