- ベストアンサー
エクセルユーザーフォームテキストボックスについて
- エクセルのユーザーフォームテキストボックスからセルへの入力について教えてください。
- ネットからサンプルを落として勉強していますが、見出しを3から7まで項目を増やしたい場合、どの部分を書き換えればよいのでしょうか?
- Private Sub CommandButton1_Click() のコードを使用して、エクセルのセルにテキストボックスの入力内容を書き込む方法が説明されています。
- みんなの回答 (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
その他の回答 (1)
- keithin
- ベストアンサー率66% (5278/7941)
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
お礼
ありがとうございました。 勉強になりました。
お礼
ご教示ありがとうございます。 空欄でも構わないところがありますので、 If Trim(Me.Controls("TextBox" & i).Text) = "" Then MsgBox "TextBox" & i & "が空です。", vbExclamation Exit Sub End If を削除して実行してみたところ、 希望通りのものになりました。 助かりました! 本当にありがとうございました。