使用文本框数据指定ColumnWidth

时间:2018-02-07 13:17:08

标签: excel-vba multiple-columns vba excel

我想使用文本框输入控制列表框的不同列宽。这是我的代码:

Sub code()

    Dim x1 as integer
    Dim x2 as integer

    x1 = Me.TB1.value ‘x1 is assigned the number 40
    x2 = Me.TB2.value ‘x2 is assigned the number 40

    With Me.listbox1
           .Clear
           .ColumnCount = 2
           .ColumnWidths = ‘’x1;x2’’
           .list = getArray(SQLinput)
    End with

End sub

感谢您的帮助!

编辑: 更准确地说,问题是代码不起作用。我不允许写:.ColumnWidths =«x1; x2»那么如何编写代码以便可以从文本框中控制这些变量呢?

1 个答案:

答案 0 :(得分:1)

aListBox.ColumnWidths = newStringValue

StringValue = aListBox.ColumnWidths

以逗号分隔的值列表,每个值控制关联列的宽度。值可以是绝对值(以像素为单位),百分比,相对长度表示为i *,其中i是整数,或者" *"表示"填写剩余宽度。"如果使用百分比,则可以使用非整数值来指定百分比的分数,例如43.52%。百分比值可以大于100%。

注释

如果使用像素,则最后一列不会增长到ListBox其余部分的大小。您应该将最后一列的宽度设置为" "它会自动占用ListBox的剩余宽度。 如果没有任何列宽规范,标题将被均匀分配。如果指定的列宽度少于列总数,则其余列将平均分配剩余宽度。 一个长度为" 3 "将被分配三倍于长度为" 1 *"的元素的空间。价值" "相当于" 1 "并且可以用来表示“填充剩余空间。”#34;