Q:如何给列表框控件(ListBox)添加条目、设置列宽、添加标题?
A:一、添加条目以下几种方法都可以。
1、在控件的 RowSource 属性输入引用的单元格地址。
知识扩展:输入单元格地址后,在窗体中将直接显示可以看到的结果,如下图所示:
注意:在控件的 RowSource 属性输入引用的单元格地址时,必须包含工作表名,否则,显示的条目将是活动工作表的单元格内容。
2、在窗体的 Initialize 事件设置RowSource 属性,示例代码如下:- Private Sub UserForm_Initialize()
- Me.ListBox1.RowSource = "Sheet1!A1:A6"
- End Sub
3、使用 AddItem 方法,示例代码如下:- Private Sub UserForm_Initialize()
- With Me.ListBox1
- .RowSource = ""
- .AddItem "初中及以下"
- .AddItem "高中或中专"
- .AddItem "大专"
- .AddItem "本科"
- .AddItem "硕士研究生"
- .AddItem "博士研究生"
- End With
- End Sub
4、使用数组对 ListBox 的 List 属性赋值,示例代码如下:- Private Sub UserForm_Activate()
- MyList = Array("初中及以下", "高中或中专", "大专", "本科", "硕士研究生", "博士研究生")
- Me.ListBox1 .RowSource = ""
- Me.ListBox1.List = MyList
- End Sub
二、添加多列、并设置列宽和标题,示例代码如下:- Private Sub UserForm_Initialize()
- With Me.ListBox1
- .RowSource = "Sheet1!I2:K7"
- .ColumnCount = 3 '设置3列
- .ColumnHeads = True '设置标题
- .ColumnWidths = "30;30;30" '设置列宽
- End With
- End Sub
注意:有列标题时,不要把列标题包含RowSource属性的单元格区域,VBA会自动取RowSource指向的单元格区域第1行上方的行单元格。
知识扩展:列宽由ColumnWidths属性决定,每个数字间用半角分号隔开,列宽单位为磅(pints),既1/72英寸。
|