• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ExcelVBAで複数のTextBoxから値取得)

ExcelVBAで複数のTextBoxから値取得

このQ&Aのポイント
  • ExcelVBA初心者です。複数のTextBoxから値を取得し、その値を使って計算と文字連結を行なったものをセルに挿入したいのですが、値の取得からできていないようです。
  • 解決したい問題は、ExcelVBAで複数のTextBoxから値を取得する方法です。現在の方法では値の取得ができていないため、改善策を教えていただきたいです。
  • ExcelVBA初心者です。複数のTextBoxから値を取得してセルに挿入したいのですが、値の取得がうまくできていません。どのようにすれば値を取得できるのか、教えていただけないでしょうか。

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

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

#1です。こんばんわ。 以下の手順で試してみると、動くようですが・・・。 4つのTextBoxとひとつのボタンがあるUserForm1を作る。 UserForm1の中にあるボタンに、以下のコードを書く。 Dim optData(5) As Integer '入力データ '4つのTextBoxのあるオブジェクト表示 For i = 1 To 4 '値取得 optData(i) = UserForm1.Controls("TextBox" & i).Value '確認用 MsgBox optData(i) Next i と、動くと思いますが。(動きました。) それぞれの数値を、例えばオブジェクト名SHEET1(シート名とは違いますので要注意)のセルに書き込む場合、以下のように書き換えてみてください。 Dim optData(5) As Integer '入力データ '4つのTextBoxのあるオブジェクト表示 For i = 1 To 4 '値取得 optData(i) = UserForm1.Controls("TextBox" & i).Value '確認用 MsgBox optData(i) sheet1.range("A"&i)=optData(i) ***追記分 Next i ***追記分のところに、計算式を書けば、計算結果をセルに書き込むことができるはずです。 作成されたコードをどのような手順・流れで実行しているか記載していただくと、分かりやすいのですが・・・。(ボタンやフォームなど)

limelife
質問者

お礼

kuma_riderさん大変遅くなりすいません。 色々やっているうちに解決できました。 ありがとうございました。

その他の回答 (1)

回答No.1

こんにちは(こんばんわ) コードの作り方は、おかしくはないようです。(下名が、そのままのコードで実行してみました。) ただし、各TextBoxの値が設定されていないような気がしたので、確認してみてください。 あと、コードを実行した際に、UserForm1が表示されると思いますが、この時点で処理がUserFormに移っている状態なので処理は進みません。UserFormを閉じると、メッセージボックスが出てきて、各TextBoxのValueに設定した数値が表示されるはずです。 以下、Valueの設定をコード上でする例です。 実行条件は、 (1)EXCELのシート上に適当にボタンを配置する。このボタンに、下記の例のコードを記述する。 (2)UserForm1というオブジェクト名のUserFormを作成し、そのUserForm上に、TextBox1~TextBox4を配置しておく。 Dim optData(5) As Integer '入力データ Dim i As Integer 'カウンタ UserForm1.Show '4つのTextBoxのあるオブジェクト表示 'TextBoxの値(Value)設定 For i = 1 To 4 UserForm1.Controls("TextBox" & i).Value = 2 * i Next i For i = 1 To 4 '値取得 optData(i) = UserForm1.Controls("TextBox" & i).Value '確認用 MsgBox optData(i) Next i 以上。 分かりにくいかもしれませんが、ご参考になれば幸いです。

limelife
質問者

補足

kuma_riderさんありがとうございます。 すいません。説明が上手くできていませんでした。 処理の流れ 1)UserForm表示後、TextBoxに任意に値を入力しOKボタンを押下。 2)入力された値を使って計算等をし、結果をセルに挿入。(未実装) 1)でTextBoxには初期値0を入れているのですが、 値を0以外の値に変更してOKボタンを押下しても、 確認用に表示されるMsgBoxは0のままになってしまいます。 すいませんが、再度教えていただけますか。

関連するQ&A

専門家に質問してみよう