• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセル ユーザーフォームテキストボックスについて)

エクセルユーザーフォームテキストボックスについて

このQ&Aのポイント
  • エクセルのユーザーフォームテキストボックスからセルへの入力について教えてください。
  • ネットからサンプルを落として勉強していますが、見出しを3から7まで項目を増やしたい場合、どの部分を書き換えればよいのでしょうか?
  • Private Sub CommandButton1_Click() のコードを使用して、エクセルのセルにテキストボックスの入力内容を書き込む方法が説明されています。

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

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

こんにちは。 そのまま修正してみました。 おまけは、テキストボックスに値が入っているか調べることと、テキストボックスの値を消す前に対話型にしたことです。 '// Private Sub CommandButton1_Click()  Dim LastRow As Long 'ここはキャメル形式やパスカル形式にします/大文字は定数です。  Dim i As Long '/テキストボックスに値があるか調べる  For i = 1 To 7   If Trim(Me.Controls("TextBox" & i).Text) = "" Then    MsgBox "TextBox" & i & "が空です。", vbExclamation    Exit Sub   End If  Next i '/セルに書き込み  With Worksheets("Sheet1")   LastRow = .Cells(Rows.Count, 1).End(xlUp).Row + 1   For i = 1 To 7    .Cells(LastRow, i).Value = Me.Controls("TextBox" & i).Value   Next  End With '/TextBox1-7をクリア  If MsgBox("テキストボックスを空にしてよろしいですか?", vbQuestion + vbYesNo) = vbYes Then   For i = 1 To 7    Me.Controls("TextBox" & i).Value = ""   Next i  End If  'TextBox1にフォーカスを移動  Me.TextBox1.SetFocus End Sub

orange1010
質問者

お礼

ご教示ありがとうございます。 空欄でも構わないところがありますので、 If Trim(Me.Controls("TextBox" & i).Text) = "" Then MsgBox "TextBox" & i & "が空です。", vbExclamation Exit Sub End If を削除して実行してみたところ、 希望通りのものになりました。 助かりました! 本当にありがとうございました。

その他の回答 (1)

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

private sub CommandButton1_Click()  dim lastrow as long  dim c as long  with worksheets("Sheet1")  lastrow = .range("A65536").end(xlup).row  for c = 1 to 7   .cells(lastrow, c) = me.controls("TextBox" & c) ’←ここを理解   me.controls("TextBox" & c) = ""  next c  end with end sub

orange1010
質問者

お礼

ありがとうございました。 勉強になりました。