Название стобцов в ListBox

Программирование на Visual Basic for Applications
AlexG
Обычный пользователь
Обычный пользователь
 
Сообщения: 69
Зарегистрирован: 08.12.2003 (Пн) 15:47
Откуда: Украина, Киев

Название стобцов в ListBox

Сообщение AlexG » 16.08.2004 (Пн) 15:39

Некий двухмерный массив ArrAccounts - создается программно.

Потом открывается форма

Код: Выделить всё
With ListBox1
            .Clear
            .ColumnCount = 4
            .ColumnWidths = "100;100;60;40"
            .List = ArrAccounts
End With


А вот как подписать название стобцов??

Вариант ListBox1.RowSource = ThisWorkbook.Range("Sheet1!$A$2:$B$20") - НЕ ПОДХОДИТ. Для него надо считать массив string переменных на лист, а потом обратно считывать - жрет очень много времени. Да и массив ArrAccounts - динамическиий.

Так как можно подписать столбцы, если массив не расположен на листе?
Последний раз редактировалось AlexG 16.08.2004 (Пн) 16:44, всего редактировалось 1 раз.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 16.08.2004 (Пн) 15:59

Есть свойство, помоему ColumnHeaders, устанавливаешь его в True и первая строка будет считаться названием полей.
Lasciate ogni speranza, voi ch'entrate.

AlexG
Обычный пользователь
Обычный пользователь
 
Сообщения: 69
Зарегистрирован: 08.12.2003 (Пн) 15:47
Откуда: Украина, Киев

Сообщение AlexG » 16.08.2004 (Пн) 16:10

Уже пробовал друже, не проходит.

ColumnHeaders включает/отключает ВИЗУАЛЬНОЕ отображение СЕТКИ названия столбцов, - НЕ ЗАПОЛНЯЯ ИХ.

После такого варианта....

Код: Выделить всё
.ColumnHeads = True
.List = ArrAccounts


.....названия столбцов - пустые.....

AlexG
Обычный пользователь
Обычный пользователь
 
Сообщения: 69
Зарегистрирован: 08.12.2003 (Пн) 15:47
Откуда: Украина, Киев

Сообщение AlexG » 16.08.2004 (Пн) 18:03

После навигации по N-ти форумам нашел ответ:
Заполнять программно (не из диапазона с листа) названия столбцов - НЕ ВОЗМОЖНО.

Выход - через создание еще одного ListBox:

Код: Выделить всё
With ListBox1
        .ColumnCount = 4
        .ColumnWidths = "100;100;60;40"
        .ColumnHeads = True
        .RowSource = "A2:D2"
       
End With
   
With ListBox2
            .Clear
            .ColumnCount = 4
            .ColumnWidths = "100;100;60;40"
            .ColumnHeads = False
            .List = ArrAccounts
End With


В первый считываются название столбцов из A1:D1, а во второй загоняется массив. который создан программно.
Первый аккуратненько тулится над вторым.

Коряво....а что делать :D .


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 54

    TopList