VBA:如何在Userform列表中均匀分隔项目?

时间:2018-05-25 17:36:10

标签: excel vba userform

对于初学者,我在循环中有以下内容:

lstResults.AddItem Range("A" & row).value & vbTab & _
                   Range("B" & row).value & vbTab & _
                   Range("C" & row).value

我希望将vbTab替换为其他一些能够提供一致间距的函数,无论字符的宽度如何。我的结果需要看起来像:

Title1       Title2       Title3
12           34           56

2 个答案:

答案 0 :(得分:0)

将列表属性ColumnCount设置为3,将ColumnWidths设置为100,100,100 - 在代码或表单设计器中。这些值以点为单位,具体取决于您的区域设置,可能会以;而非,

分隔

答案 1 :(得分:0)

不要遍历您的源范围,而是将其放入2D变体数组中:

Dim source As Variant
source = Range("A1:C10").Value ' assuming your loop boundaries here.. adjust accordingly

然后,配置列表框列:

lstResults.ColumnCount = 3
lstResults.ColumnWidths = "50,50,50" ' adjust as you see fit
lstResults.ColumnHeads = True

现在用数组填充列表:

lstResults.List = source

完成:)