【问题标题】:Assigning ColumnWidths with textbox data使用文本框数据分配 ColumnWidths
【发布时间】:2018-02-07 13:17:08
【问题描述】:

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

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

【问题讨论】:

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

标签: excel multiple-columns vba


【解决方案1】:
aListBox.ColumnWidths = newStringValue

StringValue = aListBox.ColumnWidths

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

注意事项

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

【讨论】:

    猜你喜欢
    • 2022-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多