首页 > 解决方案 > 双击会出现错误数据

问题描述

为什么我双击列表框时,数据会出来前一个?有时,它只是从列表框中出来的随机数据。

仅供参考,它将发生在“要收集的金额(Emp 4)”,“Acct. Mgr(Emp 5)”,“电话(Emp 6)”和“电子邮件(Emp 7)”上。

这是图像,以便您可以看得更清楚。

在此处输入图像描述

Private Sub lstEmployee_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
'dim the variables
Dim i As Integer
On Error Resume Next

'find the selected list item
i = Me.lstEmployee.ListIndex

Dim methodsOfCommunication() As String

Me.Emp1.Value = Me.lstEmployee.Column(0, i)
Select Case Me.lstEmployee.Column(2, i)
    Case "Yes"
        Me.Emp2.Value = True
        Me.Emp3.Value = False
    Case "No"
        Me.Emp2.Value = False
        Me.Emp3.Value = True
End Select

' Reset Methods of Communication checkboxes.
Me.Emp8.Value = False
Me.Emp9.Value = False
Me.Emp10.Value = False
Me.Emp11.Value = False
Me.Emp12.Value = False
' Set Methods of Communication checkboxes.
methodsOfCommunication = Split(Me.lstEmployee.Column(1, i), ", ")
For i = LBound(methodsOfCommunication, 1) To UBound(methodsOfCommunication, 1)
    Select Case methodsOfCommunication(i)
        Case "Whatsapp"
            Me.Emp8.Value = True
        Case "Phone Call"
            Me.Emp9.Value = True
        Case "Facebook"
            Me.Emp10.Value = True
        Case "Email"
            Me.Emp11.Value = True
        Case "SMS"
            Me.Emp12.Value = True
    End Select
Next

Me.Emp4.Value = Me.lstEmployee.Column(3, i)
Me.Emp5.Value = Me.lstEmployee.Column(4, i)
Me.Emp6.Value = Me.lstEmployee.Column(5, i)
Me.Emp7.Value = Me.lstEmployee.Column(6, i)
Me.Emp13.Value = Me.lstEmployee.Column(7, i)
Me.Emp14.Value = Me.lstEmployee.Column(8, i)
Me.Emp15.Value = Me.lstEmployee.Column(9, i)

On Error GoTo 0

End Sub

标签: excelvba

解决方案


推荐阅读