VBA:双击列表框,识别逗号之间的值并突出显示另一个列表框中相应的识别值

问题描述 投票:0回答:1

用户表单、列表框的图像

Image of userform,listbox

我很难知道如何问这个问题。

我有一个用户表单,其中 listbox1 显示用户名输入的所有数据。在用户窗体中,我有一个允许多项选择的 listbox2,在它们之间放置逗号并发送到 listbox1 中的列。

我现在想做的与上面相反。双击 listbox1 中的行,以便在用户窗体中填充值,包括 listbox2。

如何修改下面的表格来做到这一点?

Listbox1:我将双击的位置 Lisbox2:Homeroom(带有逗号分隔值的列表框) 用户表单:双击一行时填充用户表单中的数据

Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)

    txtSearch.Text = ListBox1.Column(1)
    
    If txtSearch.Text = ListBox1.Column(1) Then
    
        cmbGrade.Text = Me.ListBox1.Column(2)
        
        lstHomeroom = Me.ListBox1.Column(3)
              
        cmbSubjectCode.Text = Me.ListBox1.Column(4)
        
        cmbClassroom.Text = Me.ListBox1.Column(5)
        
        cmbNumberLessons.Text = Me.ListBox1.Column(7)
        
    End If

End Sub
excel vba listbox double-click
1个回答
0
投票
  • 为了确保ListBox2的项目列表不重复,您可能需要合并一些额外的代码。
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
    Dim x As Integer, i As Integer, aName
    For x = 0 To ListBox1.ListCount - 1
        If ListBox1.Selected(x) Then
            aName = Split(Me.ListBox1.Column(2, x), ",")
            For i = 0 To UBound(aName)
                Me.ListBox2.AddItem aName(i)
            Next
        End If
    Next x
End Sub

© www.soinside.com 2019 - 2024. All rights reserved.