• 締切済み

エクセルVBAテキストボックスをシートに…

TextBox1に会社名、TextBox2に商品名、TextBox3に金額、TextBox4と5にも商品名と金額を入力するとして、   A  B  C 1 会社 商品 金額 2 上みたいにシートに表示させたいのですが、TextBox4と5が入力されている場合はB2、C2にも値が入り、新しくテキストボックスに入力をしたときはその下のセルに表示されるようにしたいです。 分かりにくい説明ですが宜しくお願いします。

みんなの回答

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.1

ユーザーフォーム上にテキストボックス1-5までを設け、さらにそれらのデータをシート1のA列からC列に入力していくためにコマンドボタンを設置します。 そこでマクロのコードとしては次のようにしてはどうでしょう。 Private Sub CommandButton1_Click() Dim i As Long i = 0 With Worksheets("sheet1") Do i = i + 1 Loop Until .Range("A" & i) = "" And .Range("B" & i) = "" .Range("A" & i) = TextBox1.Value .Range("B" & i) = TextBox2.Value .Range("C" & i) = TextBox3.Value .Range("B" & i + 1) = TextBox4.Value .Range("C" & i + 1) = TextBox5.Value End With Unload UserForm1 'ユーザーフォームを毎回消す場合には 'テキストボックスを続けて使用する場合には以下を追加記載する TextBox1 = "" TextBox2 = "" TextBox3 = "" TextBox4 = "" TextBox5 = "" End Sub

ameri22
質問者

補足

わかりやすい説明、回答をありがとうございました。 テキストボックス4、5が入力されていて、B列とC列に値が2つ表示されているときにはテキストボックス1の値をA列に繰り返して表示させるにはどうすればよいでしょうか?

関連するQ&A