ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > E问E答 > Excel VBA > 如何给列表框控件(ListBox)添加条目、设置列宽、添加标题?

如何给列表框控件(ListBox)添加条目、设置列宽、添加标题?

作者:绿色风 分类: 时间:2022-08-17 浏览:88
楼主
gvntw
Q:如何给列表框控件(ListBox)添加条目、设置列宽、添加标题?
A:一、添加条目以下几种方法都可以。
1、在控件的 RowSource 属性输入引用的单元格地址。
知识扩展:输入单元格地址后,在窗体中将直接显示可以看到的结果,如下图所示:

 
注意:在控件的 RowSource 属性输入引用的单元格地址时,必须包含工作表名,否则,显示的条目将是活动工作表的单元格内容。
2、在窗体的 Initialize 事件设置RowSource 属性,示例代码如下:
  1. Private Sub UserForm_Initialize()
  2.     Me.ListBox1.RowSource = "Sheet1!A1:A6"
  3. End Sub
3、使用 AddItem 方法,示例代码如下:
  1. Private Sub UserForm_Initialize()
  2.     With Me.ListBox1
  3.         .RowSource = ""
  4.         .AddItem "初中及以下"
  5.         .AddItem "高中或中专"
  6.         .AddItem "大专"
  7.         .AddItem "本科"
  8.         .AddItem "硕士研究生"
  9.         .AddItem "博士研究生"
  10.     End With
  11. End Sub
4、使用数组对 ListBox 的 List 属性赋值,示例代码如下:
  1. Private Sub UserForm_Activate()
  2.     MyList = Array("初中及以下", "高中或中专", "大专", "本科", "硕士研究生", "博士研究生")
  3.     Me.ListBox1 .RowSource = ""
  4.     Me.ListBox1.List = MyList
  5. End Sub
二、添加多列、并设置列宽和标题,示例代码如下:
  1. Private Sub UserForm_Initialize()
  2.     With Me.ListBox1
  3.         .RowSource = "Sheet1!I2:K7"
  4.         .ColumnCount = 3  '设置3列
  5.         .ColumnHeads = True '设置标题
  6.         .ColumnWidths = "30;30;30"  '设置列宽
  7.     End With
  8. End Sub
注意:有列标题时,不要把列标题包含RowSource属性的单元格区域,VBA会自动取RowSource指向的单元格区域第1行上方的行单元格。
知识扩展:列宽由ColumnWidths属性决定,每个数字间用半角分号隔开,列宽单位为磅(pints),既1/72英寸。
示例附件:
ListBox.rar
2楼
Rongson_Chart
vba中的窗体应用,学习!
3楼
陈家伟
除了使用RowSource之外,还有其他方法可以设置ListBox的标题吗?

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap