Olla
我正在使用一个名称管理器,其中包含每个部门的员工列表,现在我想在我的代码中查找每个员工的时钟编号。
我从每个部门的Combobox(CB_Department)开始,然后查找每个部门的一系列员工(CB_EName)。然后,我想从excel中的表中查看员工时钟编号,并将其直接输入到userform文本框(TB_ENumber)中。这条路由的原因是因为excel表是从Sql(名称和时钟号)自动更新的,但是在工作表内管理人员工作的部门。
现在的问题是代码适用于第一个员工的部门更改,但是当我更改员工组合框时,文本框不会更新。有些人可以告诉我我错过了什么
到目前为止我必须使用的代码
Sub CB_Department_Change()
Dim strRange As String
If CB_Department.ListIndex > -1 Then
strRange = CB_Department
strRange = Replace(strRange, " ", "_")
With CB_EName
.RowSource = vbNullString
.RowSource = strRange
.ListIndex = 0
End With
With TB_ENumber
.Text = Application.WorksheetFunction.VLookup(CB_EName, Sheet4.Range("A2:B200"), 2, False)
End With
Else
End If
End Sub
由于
答案 0 :(得分:0)
感谢Kazjaw
Private Sub CB_Department_Change()
Dim strRange As String
If CB_Department.ListIndex > -1 Then
strRange = CB_Department
strRange = Replace(strRange, " ", "_")
With CB_EName
.RowSource = vbNullString
.RowSource = strRange
.ListIndex = 0
End With
Else
End If
End Sub
Private Sub CB_EName_Change()
With TB_ENumber()
.Text = Application.WorksheetFunction.VLookup(CB_EName, Sheet4.Range("A2:B200"), 2, False)
End With
End Sub