Excel VBA質問箱 IV

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

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


1463 / 13644 ツリー ←次へ | 前へ→

【74249】エクセル フォーム内のテキストボックス たかし 13/5/8(水) 12:46 質問[未読]
【74250】Re:エクセル フォーム内のテキストボックス UO3 13/5/8(水) 12:58 発言[未読]
【74271】Re:エクセル フォーム内のテキストボックス カカシ 13/5/11(土) 18:05 お礼[未読]
【74264】Re:エクセル フォーム内のテキストボックス 13/5/9(木) 22:27 回答[未読]
【74270】Re:エクセル フォーム内のテキストボックス カカシ 13/5/11(土) 18:04 お礼[未読]

【74249】エクセル フォーム内のテキストボックス
質問  たかし  - 13/5/8(水) 12:46 -

引用なし
パスワード
   こんにちは。
エクセルでフォームを作成、テキストボックスを配置。
閉じてもテキストボックス内のデータが消えないようにするには
どうしたらいいでしょうか?
宜しく御願いいたします。

【74250】Re:エクセル フォーム内のテキストボッ...
発言  UO3  - 13/5/8(水) 12:58 -

引用なし
パスワード
   ▼たかし さん:

こんにちは

ユーザーフォームですね。
であれば、どこかに退避させておいて Initializeイベントで、そこからセットするのが【王道】でしょうね。

もし、ブックが開かれた後、最初にユーザーフォームを表示する際には空白でよければ
標準モジュールにPublic 変数を用意しておいて、Initialize では、そこから転記。
で、ユーザーフォームが閉じられるイベント(UserForm_QueryClose)で、その変数に書き込み。

最初にユーザーフォームが表示された時も、前回の(たとえば昨日の最終結果)を反映させたいなら
変数では無理ですので、隠しシートを作っておいて、そのセルに退避、そのセルから書き込み。

こんなことでしょね。

【74264】Re:エクセル フォーム内のテキストボッ...
回答    - 13/5/9(木) 22:27 -

引用なし
パスワード
   こんにちは。

消えるんですよ。
ユーザーフォームを閉じたら テキストボックスの値は消えてなくなるんです。
それ自体はどうしようもないことなんです。

なのでユーザーフォームを閉じる前に、どこか閉じても値の消えない場所に
テキストボックスの値を書き込んでおくのです。そして必要なときに
そこからテキストボックスに転記します。
ユーザーには、テキストボックスに値が保存されていた「かのように」
見えます。

値の保存場所は、UO3さんのご回答にあるpublicな変数でもいいし、
staticな変数でもいいし、セルでもいいし、テキストファイルでもいいです。
必要な期間 値が残って、使い勝手のいい場所ならどこでもいいです。


▼たかし さん:
>こんにちは。
>エクセルでフォームを作成、テキストボックスを配置。
>閉じてもテキストボックス内のデータが消えないようにするには
>どうしたらいいでしょうか?
>宜しく御願いいたします。

【74270】Re:エクセル フォーム内のテキストボッ...
お礼  カカシ  - 13/5/11(土) 18:04 -

引用なし
パスワード
   御回答ありがとう御座いました。
無事解決いたしました。
有難う御座います。

【74271】Re:エクセル フォーム内のテキストボッ...
お礼  カカシ  - 13/5/11(土) 18:05 -

引用なし
パスワード
   御回答有難う御座いました。
無事解決いたしました。
有難う御座います。

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