VBA: 如何Space Userform 列表中的项目均匀?

VBA: How to Space Items evenly in a Userform List?

首先,我有以下循环:

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

我想将 vbTab 替换为一些其他函数,无论字符的宽度如何,这些函数都会给我 一致的 间距。我的结果需要类似于:

Title1       Title2       Title3
12           34           56

将列表属性 ColumnCount 设置为 3 并将 ColumnWidths 设置为 100,100,100 - 在代码中或在表单设计器中。这些值以点为单位,并且根据您的语言环境,它们可能由 ; 而不是 ,

分隔

不要遍历源范围,而是将其放入二维变量数组中:

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

完成:)