• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:TextBoxの値を複数シートのセルに記入する)

TextBoxの値を複数シートのセルに記入する方法とは?

このQ&Aのポイント
  • TextBoxの値を複数シートのセルに記入するための方法を教えてください。
  • 現在、一つのシートにしか記入できない状況です。
  • どのような構文を使用すれば、複数のシートにTextBoxの値を記入できるのでしょうか?

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

  • ベストアンサー
  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.1

 下記の様なVBAにされては如何でしょうか? Private Sub CommandButton1_Click() Dim i As Long, mySheet As Variant, TargetRow As String mySheet = Array("駐車状態", "材料", "外壁1", "外壁2", "屋根1") For i = 1 To 140 Step 7 TargetRow = TargetRow & "," & i & ":" & i Next i TargetRow = Mid(TargetRow, 2) For i = 0 To UBound(mySheet) With Worksheets(mySheet(i)) With Intersect(.Range(TargetRow), .Range("B:B,D:D")) .Value = TextBox1.Value .Offset(1).Value = TextBox2.Value End With End With Next i End Sub

1211M
質問者

お礼

醜い質問にもかかわらずご回答ありがとうございます。 思い通りにできました。感激感謝です。 今後ともよろしくお願いいたします。

その他の回答 (1)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

何がむつかしいのか、よくわからない。例でも挙げて、言葉で説明すべきだ。 長々とコードを載せているが、本件と関係あるのかな。回答者に読み解かせるの。 複数シートの指定の仕方 テキストボックスのあり場所  イベントのことなど 質問に書いてない。 独断で例を挙げてみる。 ユーザーフォrムにテキストボクスを1つ貼り付ける。 シート名は既定とし、数は有限で数シートとし、プログラムの中に名前を持たせることにする。 ユーザーフォームにコマンドボタンを1つ貼りつける。 テキストボックスの入力完了をコマンドボタンクリックで決める。 シートは、テストとして、Sheet1~Sheet5まで用意する。 Private Sub CommandButton1_Click() s = Array("sheet2", "Sheet4", "sheet5") ’シート名 cel = Array("A5", "B6", "C3")  ’対応するセル番地 For i = 0 To 2 Worksheets(s(i)).Range(cel(i)) = TextBox1.Text Next i End Sub Private Sub CommandButton1_Click() s = Array("sheet2", "Sheet4", "sheet5") cel = Array("A5", "B6", "C3") For i = 0 To 2 Worksheets(s(i)).Range(cel(i)) = TextBox1.Text Next i UserForm1.Hide End Sub (操作) ユーザーフォームの表示をクリック テキストボックスへ適当な文字列入力 コマンドボタンクリック 各シートで所定のセルに文字列入力済みを確認 ーー 上記コードを参考にしてください。

1211M
質問者

お礼

早速のご回答ありがとうございます。 思い通りにできました。 ベストアンサーにしたかったのですが、kagakusuki 様が 早かったのでさせてもらいました。 ごめんなさい。 今後ともよろしくお願いいたします。

関連するQ&A