|
机上デバッグではそろそろ厳しい感じです。
Spin移動_changeプロシージャから処理開始した場合、「支給台帳」シートのデータが使用されていますが、Combo社員ID_Changeプロシージャから処理開始した場合、「仮マスター」シートのデータがCombo社員IDのリストとして使用されているので、「仮マスター」のデータが使用されます。
2つのシートに件数差等ないですか?
あと、おそらく現在の症状に関係ないと思いますが、
Spin移動.Minが0から開始なのに対し、「レコード数取得」プロシージャが「支給台帳」シートの件数−1を返し、「Userform_initialize」プロシージャで+1しているので、0からカウントすると1レコード余分になっていると思います。+1が不要かと。
>このCombo社員IDでのComboListからの取得方法自体が間違いで、例えば各TextBoxにVlookup関数なりで給与マスターから値を取得したほうが良かったのでしょうか?
配列変数を使用しても同じものは作れると思います。
また、
↓の処理を
Private sub Combo社員ID_Change()
Application.screenupdating = False
With Me.Combo社員ID
if .ListIndex < then Exit Sub
Combo社員ID.value = .List(.ListIndex, 0)
Text氏名.value = .List(.ListIndex, 1)
Text所属.value = .List(.ListIndex, 2)
・
・
・
Text標準報酬月額.value = .List(.ListIndex, 22)
Text市県民税.value = .List(.ListIndex, 23)
End With
↓に置き換えたら、問題あるのでしょうか。
Private sub Combo社員ID_Change()
Application.screenupdating = False
データ表示 Me.Combo社員ID.ListIndex
|
|