Excel VBA質問箱 IV

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

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


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

【6718】ユーザーフォームの初期設定について HOSHI 03/7/28(月) 12:42 質問
【6727】Re:ユーザーフォームの初期設定について ichinose 03/7/29(火) 9:53 回答
【6789】Re:ユーザーフォームの初期設定について HOSHI 03/8/4(月) 9:21 お礼

【6718】ユーザーフォームの初期設定について
質問  HOSHI  - 03/7/28(月) 12:42 -

引用なし
パスワード
   初歩的な質問です。既出でしたらご指摘下さい。

commandbuttonを押すとそのcommandbuttonのキャプションから値を受け取り、セルにその値が入力されるようにしています。
そのキャプションを簡単に変更できるように、別のボタンとテキストボックスを作り、ボタンを押すと、そのテキストボックスから値を受け、先ほどのセルに入植するcommandbuttonのキャプションに設定できるようにしました。

そこで変更されたキャプションの値は、それ以降その値がユーザーフォームに初期設定されるようにしたいのですが、どのようにしたらよいでしょうか?

〜ちなみに今はこんな感じのコードです〜

’セルに入力するコマンドボタンを押した
Private Sub CommandButton1_Click()
Selection.Value = CommandButton1.Caption
End Sub

’設定変更ボタンを押した
Private Sub CommandButton11_Click()
CommandButton1.Caption = TextBox1.Text
Label1.Caption = TextBox1.Text
End Sub

’ユーザーフォームの初期設定
Private Sub UserForm_Initialize()
Label1.Caption = CommandButton1.Caption
End Sub

上のコードだと、フォームを閉じると、また最初の設定に戻ってしまいます。
よろしくお願いいたします。

【6727】Re:ユーザーフォームの初期設定について
回答  ichinose  - 03/7/29(火) 9:53 -

引用なし
パスワード
   ▼HOSHI さん:
おはようございます。

>初歩的な質問です。既出でしたらご指摘下さい。
>
>commandbuttonを押すとそのcommandbuttonのキャプションから値を受け取り、セルにその値が入力されるようにしています。
>そのキャプションを簡単に変更できるように、別のボタンとテキストボックスを作り、ボタンを押すと、そのテキストボックスから値を受け、先ほどのセルに入植するcommandbuttonのキャプションに設定できるようにしました。
>
>そこで変更されたキャプションの値は、それ以降その値がユーザーフォームに初期設定されるようにしたいのですが、どのようにしたらよいでしょうか?

コマンドボタン(Commandbutton1)のCaptionプロパティの変更の維持、
1.ブックが開いている間維持すればよいということなら、
 ワークのセルをどこかにおいて、そのセルにCaptionの内容を保持する。
 ユーザーフォームを表示するときには、ワークセルから内容をセットする。

2.ブックをいったん閉じて再度開いたときもCaptionプロパティの変更の維持するなら、

 テキストファイルなどにCaptionの内容を保存し、ユーザーフォームを表示するときには、読み込んで内容をCaptionにセットする。


等の方法が考えられますが・・・。

仮に1.の場合の例で、
ワークのセルをSheet1のセルA1としましょう。

>
>’セルに入力するコマンドボタンを押した
>Private Sub CommandButton1_Click()
>Selection.Value = CommandButton1.Caption
>End Sub
>
>’設定変更ボタンを押した
>Private Sub CommandButton11_Click()
>CommandButton1.Caption = TextBox1.Text
Worksheets("sheet1").Range("a1").Value = CommandButton1.Caption
>Label1.Caption = TextBox1.Text
>End Sub
>
>’ユーザーフォームの初期設定
>Private Sub UserForm_Initialize()
With Worksheets("sheet1").Range("a1")
 If .Value <> "" Then
   CommandButton1.Caption = .Value
   End If
 End With
>Label1.Caption = CommandButton1.Caption
>End Sub
>

等としてみたらどうでしょうか?

【6789】Re:ユーザーフォームの初期設定について
お礼  HOSHI  - 03/8/4(月) 9:21 -

引用なし
パスワード
   「ichinoseさん、ありがとうございます。
そうですね。キャプションの内容を常にセルに転写して、ユーザー
フォームを開いたときにそこから読み込むような仕様にいたしまし
た。
大変参考になりました。
ありがとうございます。(返信が送れて申し訳ありません)」

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