Если ListBox на UserForm и в нём таблица на 4 столбца. Значения из 1го столбца сильно разные по длине (от 10 до 200 символов), а у остальных примерно одинаковые.
Вопрос: есть ли перенос строк в листбоксе или что-то типа того, что позволит увидеть содержимое, не изменяя ширину 1го столбца по максимальному значению в нём? Пока придумал только вывод полного содержания в MsgBox по кнопке...
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Ігор Гончаренко, благодарю - я об этом даже не подумал, а ведь это лучше, чем мой MsgBox)
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
RAN, за варианты спасибо, а за историю — большое спасибо
Из преимуществ комбобокса: • поиск по первым символам (этого недостаточно) • можно скроллить по строке внутри него при выборе (неудобно) В любом случае, эти моменты зафиксировал для себя — ещё раз спасибо!
Пока использую TextBox для вывода полного наименования для выделенного элемента ListBox
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Jack Famous написал: не изменяя ширину 1го столбца по максимальному значению в нём?
А если посмотреть в сторону ListView, там конечно переноса строк нет, но зато можно вручную менять ширину столбца. Вот ТУТ есть интересный пример с хорошим описанием от Alex_ST и ссылка на ТУТ где пример от ZVI
как минимум, необычный и интересный вариант — спасибо! Встроенные "плюшки", конечно, подкупают, однако, у меня на компе нет нужной библы, а значит, придётся её найти, поставить, зашить в файл и распаковывать каждый раз. Оно того не стоит — сортировку я и сам могу сделать по клику, а раздвигать столбец ради одного значения гораздо менее удобно, чем, при клике по значению в ЛистБоксе, в большом ТекстБоксе сверху (с переносами) сразу увидеть полную информацию. Если бы не библа, то потестил бы, а так сразу нет…
Ещё раз спасибо — не слышал о таком и лишним точно не будет
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Можно рассмотреть варианты эмуляторов Листбокса. Например, интересный способ LikeListbox.xlsb от Андрей VG. Вроде как вариант простой, но сильно объектный и при моих скудных знаниях VBA для понимания недоступен. Интересно, что в той же теме Максим Зеленский упоминал, что "есть куча других похожих контролов", но в интернетах я этой самой кучи не нашёл.
Ещё вариант псевдолистбокса. Как и что там делать - описано в модуле m_UserFormPseudoListBox. Кратко: на форму кинуть только рамку и создать любым способом массивы с данными и с ширинами столбцов для использования при инициализации формы. Прочие настройки - в том же модуле.
В качестве дополнительной фишки добавлена возможность ручного изменения ширины столбцов, если тянуть мышью с нажатой кнопкой по краям заголовков.
Для тестирования на форме добавлены: 1. Текстбокс для смены наименования. 2. Комбобокс для смены типа Мультивыбора. 3. Листбокс с кнопкой для получения списка выделенных строк.
Для своего использования: все эти контролы можно удалить. Также во всех модулях надо удалить весь код между ' <Test> и ' </Test>. Ну и само собой, нужно удалить модули UserFormUsualListBox и m_UserFormUsualListBox, которые оставлены как пример.
Ложка мёда: сделано на чистом VBA без дополнительных библиотек, т.е. теоретически будет работать на любой версии Excel любого компьютера с любой операционной системой. Модуль с API используется только как фишка для прокрутки списка колёсиком мыши и его (модуль) можно удалить, если будет мешать. Бочка дёгтя (очевидная): реально можно работать с данными менее тысячи строк, ибо тормоза нарастают в геометрической прогрессии с увеличением количества данных.
tolikt, за вариант спасибо, конечно, но даже на тестовых небольших данных жутко тормозит. Ручное изменение ширины столбца не нужно - ширина листбокса с запасом и наличие полосы прокрутки делает это совершенно лишним. Вариант с отдельным окошком и переносом строк в нём пока что прекрасно себя показывает и безо всяких ограничений. Делается и контролируется очень легко.
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
написал: Вариант с отдельным окошком и переносом строк в нём пока что прекрасно себя показывает и безо всяких ограничений. Делается и контролируется очень легко.
если вы не можете создать TextBox на UserForm, то никакой пример вам не поможет
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Евгений Киреев, ну так создайте форму с листбоксом и комбобоксом, прикрепите файл сюда и уже тогда, уверен, вам помогут.
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄