Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 15769|回复: 17

[分享] 获取数据到列表框中的几种方法小结

[复制链接]
发表于 2007-3-16 14:51 | 显示全部楼层 |阅读模式
本帖最后由 爱疯 于 2012-7-6 19:26 编辑

【原创】

希望通过下面几种方法的介绍,对喜欢用列表框来显示数据的朋友有所帮助!

不足之处,恳请大家批评指正!


常见的显示数据的方法有以下四种:
200731614492226487.rar (19.57 KB, 下载次数: 217)

评分

参与人数 1 +16 收起 理由
爱疯 + 16

查看全部评分

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
 楼主| 发表于 2007-3-16 14:53 | 显示全部楼层

第二种:List属性

可用 List 把值的完整的二维数组复制到列表框控件上

          利用该属性,还有以下二种方式可选择:

A、利用数组

 rivate Sub UserForm_Initialize()
  Dim Arr0
 Dim Erow As Integer
     Erow = Worksheets("Columns").Range("A65536").End(xlUp).Row
     Arr0 = Worksheets("Columns").Range("A2:C" & Erow)
 With Me.ListBox1
    .ColumnCount = 3
    .BackColor = &HFFFF00
    .ColumnWidths = "80,50,30"
    .List = Arr0
  End With
End Sub

B、用命名的单元格

Private Sub UserForm_Initialize()
    ActiveWorkbook.Names.Add Name:="ListValue", RefersToR1C1:= _
        "=OFFSET(Columns!R2C1,,,COUNTA(Columns!C1)-1,3)"
 With Me.ListBox1
    .ColumnCount = 3
    .BackColor = &HFFFF00
    .ColumnWidths = "80,50,30"
    .List = Range("ListValue").Value
End With
End Sub

回复

使用道具 举报

 楼主| 发表于 2007-3-16 14:54 | 显示全部楼层

第三种:Column属性

          此方法和List属性的区别在于,用column属性须进行一下行列转置

 Private Sub UserForm_Initialize()
 Dim Arr0
 Dim Erow As Integer
     Erow = Worksheets("Columns").Range("A65536").End(xlUp).Row
     Arr0 = Worksheets("Columns").Range("A2:C" & Erow)
 With Me.ListBox1
    .ColumnCount = 3
    .BackColor = &HFFFF00
    .ColumnWidths = "80,50,30"
    .Column = Application.WorksheetFunction.Transpose(Arr0)
End With
End Sub

回复

使用道具 举报

 楼主| 发表于 2007-3-16 14:54 | 显示全部楼层

第四种:AddItem方法

          对于单列的列表框,在列表中添加一项。对于多列的列表框,在列表中添加一行。

Private Sub UserForm_Initialize()
 Dim i As Integer
 Dim Arr0
 Dim Erow As Integer
     Erow = Worksheets("Columns").Range("A65536").End(xlUp).Row
     Arr0 = Worksheets("Columns").Range("A2:C" & Erow)
 With Me.ListBox1
    .ColumnCount = 3
    .BackColor = &HFFFF00
    .ColumnWidths = "80,50,30"
     For i = 1 To UBound(Arr0)
         .AddItem
         .List(i - 1, 0) = Arr0(i, 1)
         .List(i - 1, 1) = Arr0(i, 2)
         .List(i - 1, 2) = Arr0(i, 3)
     Next i
End With
End Sub

回复

使用道具 举报

发表于 2007-3-16 16:27 | 显示全部楼层

[em01][em01][em01]
回复

使用道具 举报

发表于 2007-4-29 17:53 | 显示全部楼层

好贴啊,终于找到我想要的东西了。谢谢楼主。

回复

使用道具 举报

发表于 2007-4-29 18:14 | 显示全部楼层

楼主,我打开后 EXCEK 显示“此工作簿已丢失VBA项目、ActiveX控件以及其它任何与可编程序性相关的功能。”?是什么地方出问题了吗?
回复

使用道具 举报

发表于 2007-9-3 06:42 | 显示全部楼层

好好好!
回复

使用道具 举报

发表于 2011-8-29 03:26 | 显示全部楼层
好贴啊,终于找到我想要的东西了。谢谢楼主。
回复

使用道具 举报

发表于 2011-8-31 20:18 | 显示全部楼层
为何下载不了,是权限问题吗?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-6-5 05:38 , Processed in 0.640877 second(s), 12 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表