如何给列表框或组合框添加单列或者多列项目.docxVIP

如何给列表框或组合框添加单列或者多列项目.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
如何给列表框或组合框添加单列或者多列项目 如何给列表框或组合框添加单列或者多列项目 网站名称: Excel技巧网 | Excel 2021新领地 主题状态: 本帖已收录 ET技术文库 欢迎指正![理由] 站内采编: 素材源帖 由本站会员 pan267 提供 署名作者: 水星钓鱼 版权声明: 版权所有 非作者本人转载须经许可并注明作者和出处 本文来自: 引用作品: 适用版本: 2021? 语言环境: 简体中文 学习方法: 掌握Excel技巧的关键是动手操作 | 下载 ≠ 知识 本帖最后由 水星钓鱼 于 2021-12-7 19:48 编辑 Q:如何给列表框或组合框添加单列或者多列项目? A:由于给列表框和组合框添加项目的方法是一样的。所以接下来都以列表框为例,且假设用户窗体上有一个列表框控件ListBox1。 对于单列的列表框,向一个空的列表框添加项目可以使用列表框的AddItem方法。 Private Sub UserForm_Initialize() With Me.ListBox1 .AddItem = a .AddItem = b .AddItem = c End With End Sub 使用Additem方法只能一个元素一个元素的添加,利用它的第二个参数还可以灵活的指定将要添加的元素的位置。 如果想要一次性添加多个元素,可以使用列表框的List属性。 如以下代码也是向列表框添加a,b,c元素: Private Sub UserForm_Initialize() With Me.ListBox1 .List = Array(a, b, c) End With End Sub 可以把List属性的数据类型看作是Variant类型。当列表框中无项目时,List属性值为Null,一旦列表框中有了项目,它就是一个以行数为第一维,列数为第二维的二维数组。 对于想要设置显示为多列的列表框,首先要设置列表框的ColumnCount属性为想要显示的列数。(如果不设置该属性,将不能显示多列数据) 如果再用AddItem方法给列表框添加项目的话,会出现怎样的情况呢? 如下所示: Private Sub UserForm_Initialize() With Me.ListBox1 .ColumnCount = 2 .AddItem A .AddItem B 检查列表框第2列第1行的元素 MsgBox VarType(.List(0, 1)) = vbNull End With End Sub 运行代码可以发现,用AddItem方法给多列的列表框赋值时,只能赋值给第一列,其余列都是Null值。此时可以使用List属性来改变其余列的元素。 如下所示: Private Sub UserForm_Initialize() With Me.ListBox1 .ColumnCount = 2 .AddItem A .AddItem B .List(0, 1) = C .List(1, 1) = D End With End Sub 当然也可以一次性将一个二维数组赋值给列表框。 如下所示: Private Sub UserForm_Initialize() With Me.ListBox1 .ColumnCount = 2 .List = Application.Evaluate({A,C;B,D}) End With End Sub 这里容易犯的错误就是直接用list属性来为列表框的某行某列赋值。 如下所示: Private Sub UserForm_Initialize() With Me.ListBox1 .ColumnCount = 2 .List(0, 0) = 1 End With End Sub 这是错误的,因为当要指定具体的某个行列数时,前提是要这个行列已经存在。事实上,在给List(0, 0)赋值前,它是不存在的。引用了不存在的元素将导致错误。

文档评论(0)

亦起学 + 关注
官方认证
文档贡献者

该用户很懒,什么也没介绍

认证主体湖北亦贤科技有限公司
IP属地陕西
统一社会信用代码/组织机构代码
91421023MA4F181CXD

1亿VIP精品文档

相关文档