多列组框和列表框的设置.docVIP

  • 6
  • 0
  • 约1.26万字
  • 约 5页
  • 2017-06-12 发布于河南
  • 举报
多列组框和列表框的设置

多列组合框和列表框的设置 多列组合框和列表框添加列表项 如果组合框和列表框是多列的话,除了使用 REF _Ref189497669 \r \h 技巧109 的方法外,还需要设置控件的其他属性,如下面的代码所示。 #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 属性值的方法,设置值如 REF _Ref191486899 \h 表格 1131所示: 值 说明 0 将 ListIndex 属性的值赋予控件。 1 或者大于 1 将指定列中的值赋予控件。当采用此属性时,列从 1 开始计数(默认值)。 表格 STYLEREF 3 \s 113 SEQ 表格 \* ARABIC \s 3 1 Variant 的设置值 当选择了多列列表框的一行时,BoundColumn 属性标识出将该行的哪一条目作为控件的值存储。BoundColumn属性设为 0,将所选行的行号赋予控件,作为控件的值。如果BoundColumn属性设为1 或者大于 1,则将指定列中的值赋予控件。 第10行代码,设置多列列表框中列表的来源。在设置列表来源时除了可以使用 REF _Ref189497669 \r \h 技巧109 所介绍的方法外,还可以使用Column属性指定列表框中的一个或多个条目,Column属性语法如下: object.Column( column, row ) [= Variant] 参数object是必需的,一个有效对象。 参数column是可选的,取值范围为0到总列数减1之间的数值。 参数row是可选的,取值范围为0到总行数减1之间的数值。 参数Variant是可选的,指定欲加载到列表框的一个值、一列值或一个二维数组。 注意?? 当从一个二维数组中复制数据时,使用Column属性将转置控件中数组的内容,所以在加载时需使用Transpose函数对数组进行转置。 多列列表框设置完成后效果如 REF _Ref191490370 \h \* MERGEFORMAT 图 1131所示。 图 STYLEREF 3 \s 113 SEQ 图 \* ARABIC \s 3 1 多列列表框

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档