ここから本文です

VBAのコードについて教えて下さい。

cookiemonster5bigbirdさん

2011/3/916:04:13

VBAのコードについて教えて下さい。

エクセルで管理している名簿に新規で顧客を追加する際、
自作のユーザーフォームに「新規登録」を作り、
エクセルの名簿に追加されるようコードを書きました。

しかし、一旦「閉じる」ボタンを押し、
ユーザーフォームを消してしまうと、
再度「新規登録」をするためにユーザーフォームを開くと
カーソルが一番上のセルに戻り、再度、一番上のセルから
上書きされてしまいます。

そのまま入力されているセルの一番下から新規追加できるように
するには、下記コードに何かコードを追記する必要があるのでしょうか?

自分でカーソルを入力を開始したい行に移動させても、
「新規登録」のユーザーフォームを開くと、勝手にカーソルが
一番上に戻ってしまいます。

(登録)ボタンを押した時のプロシージャ
Private Sub CommandButton1_Click()
ActiveCell.Value = TextBox1.Value
ActiveCell.Offset(0, 1).Value = TextBox12
ActiveCell.Offset(0, 2).Value = TextBox13
ActiveCell.Offset(0, 3).Value = TextBox2
ActiveCell.Offset(0, 4).Value = TextBox3
ActiveCell.Offset(0, 5).Value = TextBox4
ActiveCell.Offset(0, 6).Value = TextBox5
ActiveCell.Offset(0, 7).Value = TextBox6
ActiveCell.Offset(0, 8).Value = TextBox14
ActiveCell.Offset(0, 9).Value = TextBox7
ActiveCell.Offset(0, 10).Value = TextBox8
ActiveCell.Offset(0, 12).Value = TextBox15
ActiveCell.Offset(0, 11).Value = TextBox9
ActiveCell.Offset(0, 13).Value = TextBox10
ActiveCell.Offset(0, 12).Value = TextBox16
ActiveCell.Offset(0, 14).Value = TextBox11

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

End Sub

閲覧数:
252
回答数:
2

違反報告

ベストアンサーに選ばれた回答

rivoisuさん

編集あり2011/3/916:27:09

冒頭で常に最後の行の次の行をActiveにしてやればいい。
A列には必ずデータが入っているなら
cells(Rows.Count,1).ens(xlup).offset(1,0).activate
を1行目にいれておく。
最後の
ActiveCell.Offset(1, 0).Activate
は不要。
*--*porihikoletskunさん ありがとう *--*

この質問は投票によってベストアンサーに選ばれました!

ベストアンサー以外の回答

1〜1件/1件中

2011/3/916:21:32

こんにちは。
cells(Rows.Count,1).ens(xlup).offset(1,0).activate

cells(Rows.Count,1).end(xlup).offset(1,0).activate
-------------------~
が正解。

それより、「勝手にセルが移動」ということは、どこかに、そのようなコードがある、ということになるんですけど、
コード全体を確認してください。
コマンドボタンをクリックしたときに、改めて「A列、最終行の次を示したい」というのは、上記のコードになります。

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

5文字以上入力してください

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。