• 締切済み

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

ブックを閉じた時のユーザーフォームの位置を、次回ブックを開いた時に同じ位置で表示したいです。 以下のコードでユーザーフォームは閉じれないようになっています。 Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) If CloseMode = vbFormControlMenu Then Cancel = True End If End Sub この場合でも、前回と同じ位置でのユーザーフォームの表示は可能でしょうか? 可能な場合はどのようにしたらいいでしょうか?

みんなの回答

  • kkkkkm
  • ベストアンサー率66% (1734/2604)
回答No.3

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

tsukajun
質問者

お礼

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

  • kon555
  • ベストアンサー率51% (1845/3565)
回答No.2

画面中央、などのだいたいの位置でいいならプロパティ指定で可能なようです https://www.officepro.jp/excelvbaform/form_form/index4.html 後はブック内でもテキストファイルでも、規定の位置を書き出しておいて、起動時に読み出せば詳細な設定は可能です。

tsukajun
質問者

お礼

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

  • unokwave
  • ベストアンサー率58% (966/1654)
回答No.1

Excelで何らかの値を終了後も覚えさせたい場合、外部ファイルに保存するのでなければ、シートの中に非表示のテキストボックスを作って値を記憶させれば確実です。 テキストボックスではなくセルに入れても構いませんがテキストボックスよりも値を弄られやすいというデメリットがあります。 位置を取得したり設定するのはフォームのオブジェクト名に.Leftや.Topや.Widthや.Heightをつければ値にアクセスできます。

関連するQ&A

専門家に質問してみよう