Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

VBA: столбцы в listbox'е

20K
09 сентября 2006 года
Keen
2 / / 07.09.2006
Задачка - связь Excel с Access.
Проблема такая: есть listbox, в котором 9 колонок. Как сделать, чтобы текст в каждой колонке не уходил за ее края, а перенасился вниз, какбы "раздвигая" строчку? Если нет спец. команды, то какие еще могут быть решения?? Может кто сталкивался...
15K
11 сентября 2006 года
vkodor
41 / / 04.07.2006
[QUOTE=Keen]Задачка - связь Excel с Access.
Проблема такая: есть listbox, в котором 9 колонок. Как сделать, чтобы текст в каждой колонке не уходил за ее края, а перенасился вниз, какбы "раздвигая" строчку? Если нет спец. команды, то какие еще могут быть решения?? Может кто сталкивался...[/QUOTE]

У меня listbox заполняется програмно, поскольку я не нашел спец. команды для переноса строки, изпользую вот этот код для выставления нужной ширины у колонок
Код:
UserForm1.ListBox3.Clear
            Do While .Cells(x, 1) <> ""
                UserForm1.ListBox3.AddItem .Cells(x, 3) 'добавление в первую колонку
                UserForm1.ListBox3.Column(1, UserForm1.ListBox3.ListCount - 1) = _
                    .Cells(x, 4) 'добавление во вторую колонку
                   
                    'выставление ширины
                    Worksheets("Temp").Cells(1, 1) = _
                        Worksheets("база").Cells(x, 3) ' перенос во временную ячейку
                        ThisWorkbook.Worksheets("Temp").Columns(1).EntireColumn.AutoFit ' выстовление ширины во временной ячейке
                    If cw < Worksheets("Temp").Cells(1, 1).Width Then _
                     cw = Worksheets("Temp").Cells(1, 1).Width _
                     ' проверка если ширина временной ячейки больше переменной то _
                     заганяю ширину в переменную
                   
                    Worksheets("Temp").Cells(1, 1) = _
                        Worksheets("база").Cells(x, 4) ' перенос во временную ячейку
                        Worksheets("Temp").Columns(1).EntireColumn.AutoFit ' выстовление ширины во временной ячейке
                    If cw1 < Worksheets("Temp").Cells(1, 1).Width Then _
                     cw1 = Worksheets("Temp").Cells(1, 1).Width
                     ' проверка если ширина временной ячейки больше переменной то _
                     заганяю ширину в переменную
                End If
                   
                x = x + 1
            Loop
        End With
    End If
    'выставление ширины в листбоксе
    cw3 = cw & ";" & cw1 & ";"
    UserForm1.ListBox3.ColumnWidths = cw3


смысл в том, что прогоняешь все значения через временную ячейку и узнаешь их ширины, а потом выставляешь ширину колонок в листбоксе по максимальным значениям
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог