解決済みのQ&A
VBAを使ったセルの修正・上書きについて。
VBAを使ったセルの修正・上書きについて。
エクセルで管理している顧客データを、オリジナルユーザーフォームで
検索→呼び出し→ユーザーフォーム内で修正後、→セルを上書きする。
というコードを作成しています。
ユーザーフォームには「検索」「修正入力」ボタンを用意しおり、
「検索」→「呼び出し」まではうまく作動しますが、
「ユーザーフォーム内で修正」→「修正入力」がうまく作動しません。
セルA3から名簿が入力されているのですが、
「修正入力」ボタンを押すと、入力してある全名簿が消え、
上書きしようとしていたユーザーフォーム内の顧客データのみ反映され、
かつ、顧客名A3セル(TextBox1)が空白になってしまいます。
下記コードはどこが間違っているのでしょうか。
Private Sub CommandButton1_Click()
Dim gyou As Long
Dim z As Object
Dim i As Integer
With Worksheets("Sheet1")
gyou = Range("A65536").End(xlUp).Row + 1
MsgBox gyou
For i = 1 To 16
Cells(gyou, i).Value = Me.Controls("TextBox" & i).Text
Me.Controls("TextBox" & i).Text = ""
Cells(ActiveCell.Row, 1).Value = TextBox1.Text
Cells(ActiveCell.Row, 2).Value = TextBox2.Text
Cells(ActiveCell.Row, 3).Value = TextBox3.Text
Cells(ActiveCell.Row, 4).Value = TextBox4.Text
Cells(ActiveCell.Row, 5).Value = TextBox5.Text
Cells(ActiveCell.Row, 6).Value = TextBox6.Text
Cells(ActiveCell.Row, 7).Value = TextBox7.Text
Cells(ActiveCell.Row, 8).Value = TextBox8.Text
Cells(ActiveCell.Row, 9).Value = TextBox9.Text
Cells(ActiveCell.Row, 10).Value = TextBox10.Text
Cells(ActiveCell.Row, 11).Value = TextBox11.Text
Cells(ActiveCell.Row, 12).Value = TextBox12.Text
Cells(ActiveCell.Row, 13).Value = TextBox13.Text
Cells(ActiveCell.Row, 14).Value = TextBox14.Text
Cells(ActiveCell.Row, 15).Value = TextBox15.Text
Cells(ActiveCell.Row, 16).Value = TextBox16.Text
TextBox1.Value = ""
TextBox2.Value = ""
TextBox3.Value = ""
TextBox4.Value = ""
TextBox5.Value = ""
TextBox6.Value = ""
TextBox7.Value = ""
TextBox8.Value = ""
TextBox9.Value = ""
TextBox10.Value = ""
TextBox11.Value = ""
TextBox12.Value = ""
TextBox13.Value = ""
TextBox14.Value = ""
TextBox15.Value = ""
TextBox16.Value = ""
ActiveCell.Offset(1, 0).Activate
Next
End With
TextBox1.SetFocus
-
- 質問日時:
- 2011/3/9 12:15:14
-
- 解決日時:
- 2011/3/9 13:07:54
-
- 回答数:
- 1
-
- 閲覧数:
- 908
-
- ソーシャルブックマークへ投稿:
- Yahoo!ブックマークへ投稿
- はてなブックマークへ投稿
- (ソーシャルブックマークとは)
ベストアンサーに選ばれた回答
hige_082さん
capslockshiftctrl954さん
理解できていないようですね
滅茶苦茶ですよ
多分、これでよいと思いますよ
Private Sub CommandButton1_Click()
Dim i As Integer
For i = 1 To 16
Cells(ActiveCell.Row, i).Value = Me.Controls("TextBox" & i).Text
Me.Controls("TextBox" & i).Text = ""
Next
End With
TextBox1.SetFocus
End Sub
「検索」ボタンのコードが分れば、より確実な回答が出来ますが
これで試して見てください
- 回答日時:2011/3/9 12:49:30
このQ&Aはまだナイス!されていません。
役に立ったと思った回答に、ナイス!してみよう!
あなたにおすすめの解決済みの質問
- エクセルマクロにて、選択範囲のコピーペーストについて教えてください。お世話になっております。 ご教...
- エクセルvbaのユーザーフォーム関連で、コードの改善点を教えてください。利用用途は、データベースへの...
- excel ユーザーフォームについて コンボボックスからシートを選択するには?ユーザーフォームにコンボボ...

質問した人からのコメント
本やネットで拾った情報をやみくもにつなげただけでした。ありがとうございます!!