多列组合框和列表框的设置

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

技巧1 多列组合框和列表框的设置

1-1 多列组合框和列表框添加列表项

如果组合框和列表框是多列的话,除了使用错误!未找到引用源。的方法外,还需要设置控件的其他属性,如下面的代码所示。

#001 Private Sub UserForm_Initialize()

#002 Dim iRow As Integer

#003 Dim Arr As Variant

#004 iRow = Sheet1.Range("A65536").End(xlUp).Row

#005 Arr = Sheet1.Range("A1:G" & iRow)

#006 With Me.ListBox1

#007 .ColumnCount = 7

#008 .ColumnWidths = "45,45,45,45,45,30,45"

#009 .BoundColumn = 1

#010 .Column = Application.WorksheetFunction.Transpose(Arr)

#011 End With

#012 End Sub

代码解析:

在窗体初始化时为多列列表框添加列表项。

第4行代码,设置列表框显示的列数。ColumnCount 属性指定列表框或组合框的显示列数,语法如下:

object.ColumnCount [= Long]

参数object是必需的,一个有效的对象。

参数Long是可选的,指定需显示的列数。

如果将ColumnCount设为-1,将显示所有列。

第8行代码,设置列表框各列的宽度。ColumnWidths 属性指定多列的组合框或列表框中的各列的宽度,语法如下:

object.ColumnWidths [= String]

参数object是必需的,一个有效的对象。

参数String是可选的,以磅为单位设置列的宽度。

如将ColumnWidths 属性设为-1 或空,则将控件宽度等分,给予列表中的各列。设为0 则隐藏该列,大于0 的数值则是该列的精确宽度值。若要指定另一种不同的度量单位,设置时必须包括该度量单位。

第9行代码,设置多列列表框中的第一列为数据的来源。BoundColumn 属性标识多列组合框或列表框中的数据的来源,语法如下:

object.BoundColumn [= Variant]

参数object是必需的,一个有效的对象。

参数Variant是可选的,标识选择BoundColumn 属性值的方法,设置值如表格1-1所示:

表格1-1 Variant 的设置值

当选择了多列列表框的一行时,BoundColumn 属性标识出将该行的哪一条目作为控件的值存储。BoundColumn属性设为0,将所选行的行号赋予控件,作为控件的值。如果BoundColumn属性设为1 或者大于1,则将指定列中的值赋予控件。

第10行代码,设置多列列表框中列表的来源。在设置列表来源时除了可以使用错误!未找到引用源。所介绍的方法外,还可以使用Column属性指定列表框中的一个或多个条目,Column属性语法如下:

object.Column( column, row ) [= Variant]

参数object是必需的,一个有效对象。

参数column是可选的,取值范围为0到总列数减1之间的数值。

参数row是可选的,取值范围为0到总行数减1之间的数值。

参数Variant是可选的,指定欲加载到列表框的一个值、一列值或一个二维数组。

注意当从一个二维数组中复制数据时,使用Column属性将转置控件中数组的内容,所以在加载时需使用Transpose函数对数组进行转置。

多列列表框设置完成后效果如图1-1所示。

图1-1 多列列表框

相关文档
最新文档