|
ExcelVBAを勉強し始めたばかりの者です。
ビデオ教材で勉強しておりますがわからないところがありましたので
教えていただきたく投稿いたします。
フォームをつくり、いくつかのテキストボックスが入っています。
1つのテキストボックスがおかしな動きをします。
文字入力をし、漢字に変換し、確定のためEnterキーを押すと、
上のテキストボックスに入力した文字がすべて消えてしまいます。
プロパティのLockedはfalse、
Enabledはtrueで設定されていますので
入力は出来るはずなのですがそれも出来ず
他のテキストボックスの入力まで消えてしまうのが
よくわかりません。
そのようなことが起こる設定はあるのでしょうか。
Enterキーを押したときの動作を設定するプロパティでもあるのでしょうか。
コードは以下のとおりです。
Option Explicit
Private i As Long
Private Sub CommandButton1_Click()
Worksheets(1).Cells(i, 1).Value = TextBox1.Value
Worksheets(1).Cells(i, 2).Value = TextBox2.Value
Worksheets(1).Cells(i, 3).Value = ComboBox1.Value
Worksheets(1).Cells(i, 5).Value = TextBox3.Value
Worksheets(1).Cells(i, 6).Value = TextBox4.Value
End Sub
'次へ移動
Private Sub CommandButton2_Click()
i = i + 1
Call Display
End Sub
'前へ移動
Private Sub CommandButton3_Click()
If i = 2 Then
MsgBox "前に戻れません"
End If
i = i - 1
Call Display
End Sub
Private Sub TextBox4_Change()
Call Display
End Sub
'フォームの初期設定
Private Sub UserForm_Initialize()
i = 2
Call Display
ComboBox1.AddItem "経理課"
ComboBox1.AddItem "人事課"
ComboBox1.AddItem "営業1課"
ComboBox1.AddItem "営業2課"
End Sub
'データ表示
Public Sub Display()
TextBox1.Value = Worksheets(1).Cells(i, 1).Value
TextBox2.Value = Worksheets(1).Cells(i, 2).Value
ComboBox1.Value = Worksheets(1).Cells(i, 3).Value
TextBox3.Value = Worksheets(1).Cells(i, 5).Value
TextBox4.Value = Worksheets(1).Cells(i, 6).Value
End Sub
excel表のそれぞれの列のタイトルは
1列目タイトル 社員コード
2列目タイトル 氏名
3列目タイトル 所属部署
4列目タイトル 性別
5列目タイトル 電話番号
6列目タイトル 住所
です。
2列目からデータが入っています。
なお、もしコードは正確に入力できていて、へんなところを
間違えていじっていなければ
見ていたビデオではこれで問題なく動いているようでした。
また、住所の欄をいじらなければすべて問題なく動くようです。
よろしくお願いいたします。
|
|