|
Hirofumiです
私の方も暇が有ったら試して見て下さい
社員コード、氏名の探索とF列セルの入力を行うUserFormです
ただ、あの後も幾つか修正が見つかったので、書いて置きます
1、Sub CommandButton1_Click()イベントプロシージャに追加
For i = 1 To 3
Controls("Textbox" & i).Value = ""
Next i
'この行追加
lngWriteRow = 0
2、Sub TextBox1_BeforeUpdateイベントプロシージャに追加、修正
'その行のC列をActiveにする
.Offset(, 2).Activate
を
'その行のF列をActiveにする
.Offset(, 5).Activate
'TextBox2の値にその行の氏名を代入
TextBox2.Text = .Offset(, 1).Value
を
'TextBox2の値にその行の氏名を代入
TextBox2.Text = .Offset(, 3).Value
'書き込み行位置を探索位置に更新
lngWriteRow = lngFind
'この位置に以下の2行追加
'セルのデータ取得
GetData
3、Sub TextBox2_BeforeUpdateイベントプロシージャに追加、修正
'探索位置をActiveに
.Offset(, 1).Activate
を
'探索位置をActiveに
.Offset(, 2).Activate
'TextBox1の社員コードを代入
TextBox1.Text = .Offset(, -1)
を
'TextBox1の社員コードを代入
TextBox1.Text = .Offset(, -3)
'書き込み行位置を探索位置に更新
lngWriteRow = rngFind.Row
'この位置に以下の2行追加
'セルのデータ取得
GetData
4、Sub UserForm_Initializeイベントプロシージャに追加、修正
'社員氏名範囲の取得
Set rngNameScope = Range(Cells(2, 2), _
Cells(65536, 2).End(xlUp))
を
'社員氏名範囲の取得
Set rngNameScope = Range(Cells(2, 4), _
Cells(65536, 4).End(xlUp))
に修正
5、UserFormコードモジュールの最終行に以下のプロシージャを追加
Private Sub GetData()
With Cells(lngWriteRow, 1)
TextBox3.Text = .Offset(, 5).Value
End With
End Sub
|
|