電子書籍の厳選無料作品が豊富!

こんにちは。
詳しい方、お知恵をお貸しください。

Excelのワークシートに保持しているデータを
ユーザーフォームのTextBoxに反映させたいのですが
どのようにすればよろしいのでしょうか?

◎条件は以下のとおりです。
1.ユーザーフォームを表示させた時、TextBox(s1)にワークシート(ini)
のセル(B1)を反映させる。
2.ユーザーフォーム上で編集可能な状態とし、OKボタン押下で
TextBox(s1)のデータをワークシート(ini)のセル(B1)に反映・保存。

また、別ユーザーフォームで参照のみ可能な物を作っておりますが、
編集不可能な状態で表示させる方法も教えていただけたら嬉しいのですが。。。

どうぞ、よろしくお願いいたします。

A 回答 (2件)

>TextBox(s1)


とはTextBoxのオブジェクト名を「s1」に変更してあるということですか?

そうであれば
Private Sub UserForm_Initialize()
UserForm1.s1.Text = Sheets("ini").Range("B1").Value
End Sub

Private Sub CommandButton1_Click()
Sheets("ini").Range("B1").Value = UserForm1.s1.Text
UserForm1.Hide
End Sub
のようなコードで1,2はできるはずです。
そうでなければ「TextBox1.Text」のように書かなくてはなりません

>編集不可能な状態で表示させる方法
表示したB1セルの内容をを編集不可にするでしょうか?、
・TextBoxではなくLabelを利用する
・CommandButton_Clickで書き戻しをしない
などが考えられます。
    • good
    • 0
この回答へのお礼

zap35さん
ありがとうございました。
想定していた通りの動作で完成できました。
そして、とても勉強になりました!!

お礼日時:2008/02/24 20:06

1.ユーザーフォームを表示させた時、TextBox(s1)にワークシート(ini)


のセル(B1)を反映させる。

Private Sub UserForm_Initialize()
TextBox1.Value = Sheets("Sheet1").Range("B1").Value
End Sub

2.ユーザーフォーム上で編集可能な状態とし、OKボタン押下で
TextBox(s1)のデータをワークシート(ini)のセル(B1)に反映・保存。

Private Sub CommandButton1_Click()
Sheets("Sheet1").Range("B1").Value = TextBox1.Value
End Sub
こういった事でしょうか?
    • good
    • 0
この回答へのお礼

hallo-2007さん
ありがとうございました。
とても勉強になりました!!

お礼日時:2008/02/24 20:08

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!