在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


学习了