VBA: Как разместить элементы равномерно в списке пользовательских форм? - PullRequest
0 голосов
/ 25 мая 2018

Для начала у меня в цикле следующее:

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 голосов
/ 25 мая 2018

Не перебирайте исходный диапазон, вместо этого поместите его в двухмерный вариантный массив:

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

Готово:)

0 голосов
/ 25 мая 2018

Установите свойства списка ColumnCount на 3 и ColumnWidths на 100,100,100 - либо в коде, либо в конструкторе форм.Значения указаны в пунктах, и в зависимости от вашей локали они могут быть разделены на ; вместо ,

...