Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


37218 / 76732 ←次へ | 前へ→

【44687】Re:Me.Hideの意味
回答  メカ大好き!  - 06/11/28(火) 22:20 -

引用なし
パスワード
   ▼ミーナ さん:
>テキストボックスの内容を残したい場合などに使えばいいのですね。

↑ これは、誤解するといけないので、一応解説を加えておきますね。
(ちょっと、通りかかったもので…)
Me.Hide でテキストボックスの内容を保持しておけるのは、
『その UserForm が開かれている間だけ』…です。
つまり… Me.Hide をした後で、そのシートを終了してしまうと、
テキストボックスの内容を、シート上のセルにでも転記しておかない限り、
テキストボックスの内容を保持しておく事はできませんので、注意して下さい。

言い方を変えると…
Me.Hide だと、 UserForm が、『見た目上からは消えます』が、
『メモリー上には残っていて、EXCEL からは開かれていると判断される状態』
のままになります。UserForm がメモリー上に留まったままですので、
次に表示される時は速いですし、オブジェクトの値も保持されています。

『Unload Me』だと、UserForm が、メモリー上からも消されて、
『EXCEL からの判断でも閉じられたと判断される状態』になります。

また、UserForm は『Me.Hide』するだけでは、メモリーを消費し続けますし、
多くの UserForm を Me.Hide し続けると、
EXCEL が急にハングアップしたりする原因にもなりますので、
その UserForm が必要無くなった時点で、きちんと『Unload Me』をする様に
して下さい。

ちなみに私は…
  UserForm1.Hide
    Unload UserForm1
↑ …のセットの様に、明示的に UserForm を指定して閉じる書き方が好きです。

  Me.Hide
    Unload Me
↑ …のセットも、意味的には同じですので、好みの方を使用して下さい。

(もし、ここを理解されていた場合には、済みませんです (笑))

0 hits

【44665】Me.Hideの意味 ミーナ 06/11/28(火) 13:38 質問
【44666】Re:Me.Hideの意味 ぱっせんじゃー 06/11/28(火) 13:42 発言
【44667】Re:Me.Hideの意味 ミーナ 06/11/28(火) 13:45 お礼
【44687】Re:Me.Hideの意味 メカ大好き! 06/11/28(火) 22:20 回答
【44779】Re:Me.Hideの意味 ミーナ 06/12/1(金) 8:35 お礼

37218 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free