• ベストアンサー

Excel VBA フォーム内のTXTBOX 値取得について

お世話になります VBAフォーム内のTXTBOXの入力についてですが 「今まで」 TXTBOXに値入力ボタンクリック時に書き込み処理でしたが 「わからないこと」 次に開くとTXTBOXに(セル)に入力した値を取得しボタンクリックなしでリアルタイムに書き込みをしたいのですが、 イメージ的に、テキストボックスとセルのリンクみたいな感じが理想です、分かる方宜しくお願い申し上げます。 Excel 2003 XP Pro VBA 初心者以下

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

  • ベストアンサー
  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.3

Change の方が良いかも。ということで変更しました。 Private Sub UserForm_Activate()   TextBox1.Text = Worksheets("Sheet1").Range("A1").Value End Sub Private Sub TextBox1_Change()   Worksheets("Sheet1").Range("A1").Value = TextBox1.Text End Sub

BSR123
質問者

お礼

迅速な回答ありがとうございます 先ほどツタヤに行き、書籍を探しに行ってきたのですが 考えに合った書籍がなく帰ってきた所でした。 確認したところ理想的な回答でしたありがとうございます

BSR123
質問者

補足

ありがとうございました

その他の回答 (3)

  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.4

ユーザーフォームをSheet1から立ち上げて、Sheet1のA1と関連付けたいなら、controlsourceにA1。 シートを特定するならば、Sheet1!A1のように設定すれば、書き込みも読み込みも不要になります。 わざわざ、Changeイベントなどを使わないはずです。

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.2

Changeイベントでも可能です。 ユーザーフォームにTextBox1があるとして、以下のマクロをユーザーフォームのマクロシートに貼り付けてみてください Private Sub TextBox1_Change()   WorkSheets("Sheet1").Range("A1").Value = UserForm1.TextBox1.Text End Sub テキストボックスに文字を入力すると、リアルタイムでSheet1のA1セルの表示も変わるはずです。

BSR123
質問者

お礼

早速のお返事ありがとうございます 補足に記載しているように問題点がまだ残ってますが お礼申し上げます

BSR123
質問者

補足

確認させていただいたところ、 「解決点」 確かにリアルタイムに入力可能ですが、 「未解決点」 次回マクロを立ち上げた時の値の取得ができません よろしくお願い申し上げます

  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.1

' // Sheet1!A1 に書き込む例 Private Sub TextBox1_KeyUp( _     ByVal KeyCode As MSForms.ReturnInteger, _     ByVal Shift As Integer _ )   ThisWorkbook.Worksheets("Sheet1").Range("A1").Value = Me.TextBox1.Text End Sub

BSR123
質問者

お礼

迅速なお返事ありがとうございます

BSR123
質問者

補足

お返事ありがとうございます 確認させて頂いたところ ThisWorkbook.Worksheets("Sheet1").Range("A1").Value = Me.TextBox1.Text でエラーが出ます。 エラー9でした よろしくお願い申し上げます

関連するQ&A