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