Excel 使用文本框数据指定列宽

Excel 使用文本框数据指定列宽,excel,multiple-columns,vba,Excel,Multiple Columns,Vba,我想通过使用文本框输入来控制列表框的不同列宽。这是我的代码: 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 .Column

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

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»那么我如何编写代码以便能够从文本框控制这些变量呢

aListBox.ColumnWidths = newStringValue

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

注释

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

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