• ベストアンサー

エクセル ユーザーフォームで

ユーザーフォームのテキストボックスの中にセルA1を表示させたい場合はどうすればいいのでしょうか? 「Private Sub TextBox1_Change() End Sub」 の中に何かを入れるのでしょうか? よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

またまたtakachan7272です。 B1にはA1-10の値が入っているんですよね? それならば、もう1行下記コード追加するだけです。 UserForm1.TextBox1.Value = Range("B1")

noname#150256
質問者

お礼

TextBox2かな? takachan7272様 大変助かりました!!! 3回もご回答ありがとうございます。

その他の回答 (3)

  • shinkami
  • ベストアンサー率43% (179/411)
回答No.4

テキストボックスのプロパティー内に「CntrolSouce」をA!とします。 尚、プロパティー内のオブジェクト名に「売上金額」と入れておくとVB内で変数としてとり扱えます。 「Private Sub TextBox1_Change() End Sub」 は Private Sub 金額_Change() 利益=売上金額ー原価 End Sub といったようにイベントが発生したときの処理を記述します 蛇足ですが、chenge()はキータッチ毎にイベントが発生しますのでexit()の方がよろしいかと

noname#150256
質問者

お礼

ぉぉーできました。 大変参考になりました。ご回答ありがとうございます。

回答No.2

ユーザーフォームは既に表示されているという事ですね。 (シート1のA1に入力された場合) VisualBasicEditorのsheet1に下記コードを書く ------------------------------- Private Sub Worksheet_Change(ByVal Target As Range) UserForm1.TextBox1.Value = Range("A1") End Sub ------------------------------- ちょっと試してみて下さい。 Excel2003ではOKでした。

noname#150256
質問者

お礼

できました!!!! ありがとうございます!! ちなみにB1にはA1-10が入っていて それも連動させて表示させたいです 泣 ユーザーフォームにB1用のテキストボックスは作っています。 再度ご回答いただければ幸いです。

回答No.1

ユーザーフォームを表示するのは、A1セルに値が入った時ですか? それとも、フォームにボタンが設置されていて、それが押された時ですか?

noname#150256
質問者

お礼

早速の返信ありがとうございます。 A1には常に数字が入っていて ユーザーフォームはショウモデルをフォールスしてあり A1が変化するとそれに伴ってユーザーフォームのテキストボックス内も変化すると言う風にしたいです。 なのでA1=テキストボックス1 にしたいです。 よろしくお願いします。

関連するQ&A