在vba 用户窗体中可以添加列表框控件ListBox。
ListBox列表框控件可以是单选的,也可以是多选的。
ListBox列表框控件的MultiSelect属性控制了列表框是单选还是多选,ListStyle属性控制了列表框的样式是提供选项框还是不提供选项框。
对于单选列表框,可以通过ListIndex属性返回当前的选中的列表框项目的序号。
对多选列表框,要使用Selected属性返回相应索引序号的项目是否选中。
比如如下的代码将在用户窗体的列表框ListBox1中设置为有选框的多选形式,同时添加3个列表框项目:
Private Sub UserForm_Initialize() With frm1 With .ListBox1 .ListStyle = fmListStyleOption .MultiSelect = fmMultiSelectMulti .AddItem 1 .AddItem 2 .AddItem 3 End With End With End Sub
然后如下的代码在单击用户窗体时显示列表框ListBox1中已经选中的项目:
Private Sub UserForm_Click() Dim arr() k = 0 With Me.ListBox1 For i = 0 To .ListCount - 1 If .Selected(i) = True Then ReDim Preserve arr(k) arr(k) = .List(i) k = k + 1 End If Next i End With MsgBox "已经选中的项目有" & vbCrLf & Join(arr, vbCrLf) End Sub
学习了