締切済み

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

  • 困ってます
  • 質問No.9620363
  • 閲覧数95
  • ありがとう数2
  • 気になる数0
  • 回答数3
  • コメント数0

お礼率 86% (19/22)

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

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

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

回答 (全3件)

  • 回答No.3

ベストアンサー率 53% (516/961)

他カテゴリのカテゴリマスター
レジストリに終了時の位置を保存しておくという手もあります。
レジストリを使う
http://officetanaka.net/excel/vba/tips/tips43.htm
お礼コメント
tsukajun

お礼率 86% (19/22)

いろいろな?を見て何とかできるようになりました。
ありがとうございました。
投稿日時 - 2019-05-28 21:00:57
  • 回答No.2

ベストアンサー率 45% (110/241)

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

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

お礼率 86% (19/22)

自分だけが使うファイルではなかったので、前回の位置で表示させたかったです。
回答ありがとうございます。
投稿日時 - 2019-05-28 21:05:13
  • 回答No.1

ベストアンサー率 59% (946/1593)

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

位置を取得したり設定するのはフォームのオブジェクト名に.Leftや.Topや.Widthや.Heightをつければ値にアクセスできます。
結果を報告する
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。
関連するQ&A
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,600万件のQ&Aを分析して最適な回答をご提案します。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する

ピックアップ

ページ先頭へ