我目前正在处理 excel 中的用户表单。它目前从数据库中提取一个列表并将其粘贴到 excel 中,然后在您选择某人姓名时引用该数据以自动填充文本框。
我遇到的问题是我还想自动填充对工作人员将拥有的某些系统的访问权限。基本上,电子表格包含公司内的所有员工以及他们对某些系统的访问权限,该系统由 2 个单元格(系统和权利,K 和 L 列)组成。我已经定义了我希望使用的范围,但我现在被卡住了。
如何让excel循环遍历范围并将每个单元格(例如K2和l2)中的数据“复制并粘贴”到用户表单的文本框中。所以我想要发生的是选择某人的名字,它会自动提取他们的所有访问详细信息并使用该访问和权利自动填充一些文本框。
我拥有的当前代码如下。私人子 cboStaffNumber_Change()
Dim rngCell As Range
Dim rngNumber As Range
Dim lngRow As Long
Dim lngRangeStart As Long
Dim lngRangeEnd As Long
Dim lngLastRow As Long
Dim rngColumn As Range
Dim rngEntitlement As Range
Dim rngAccess As Range
Set rngNumber = Range("A2:A" & lngStaffDataLastRow)
'Fills in the Staff Name, OIA Template, Division, Job Title and WAP Code fields when a staff member is selected
If bCboBool = False Then
If Me.cboStaffNumber.ListIndex > 0 Then
For Each rngCell In rngNumber.Cells
If rngCell.Value = Val(cboStaffNumber.Value) Then
' lngRangeStart = rngCell.Row
bCboBool = True
Me.cboStaffName = rngCell.Offset(0, 1)
Me.txtOIATemplate = rngCell.Offset(0, 9)
Me.txtDivision = rngCell.Offset(0, 7)
Me.txtJobTitle = rngCell.Offset(0, 2)
Me.txtWAP = rngCell.Offset(0, 3)
Exit For
End If
Next rngCell
Else
Me.cboStaffName.Value = ""
Me.txtOIATemplate.Value = ""
Me.txtDivision.Value = ""
Me.txtJobTitle.Value = ""
Me.txtWAP.Value = ""
End If
End If
For lngRow = 2 To lngLastRow
If rngNumber.Cells(lngRow, 1).Value = Val(cboStaffNumber.Value) Then
lngRangeStart = lngRow
Exit For
End If
Next lngRow
' For lngRow = lngRangeStart To lngLastRow + 1
' If rngNumber.Cells(lngRow, 1).Value <> Val(cboStaffNumber.Value) Then
' lngRangeEnd = lngRow
' Exit For
' End If
' Next lngRow
'
' If lngRow <> 0 Then
' lngRangeEnd = lngRangeEnd - 1
' End If
'
' For rngAccess = lngRangeStart To lngRangeEnd
' Set rngCell = lngRangeStart.Cells(rngCell, 11)
' For Each rngCell In rngAccess
' Set txtAccess1 = rngCell
' Exit For
' Next rngAccess
bCboBool = False
End Sub`
任何帮助将不胜感激。
谢谢