Удаление полосы прокрутки в списке в пользовательских формах Excel VBA - PullRequest
1 голос
/ 30 сентября 2019

Я использую пользовательскую форму в Excel VBA, и у меня есть комбинированное окно со стилем fmStyleDropDownList. Я хочу удалить горизонтальную полосу прокрутки:

Имейте в виду, что эта проблема чем-то похожа на эту: Удалите полосу прокрутки в списке . В этом посте принятое решение гласит:

Это может произойти, когда для свойства формата ширины столбца списка задано какое-то широкое значение, а затем вы измените размер элемента управления для данных, он покажетполосы прокрутки.

Чтобы исправить это, измените свойство «Ширина столбца» на вкладке «Формат» на что-то очень маленькое, затем поиграйтесь с этим свойством и размером элемента управления списка, пока не получите его так, как хотите, и без прокрутки. отображаются полосы.

Итак, что я сделал: я изменил свойство ColumnWidths на меньшие значения, пока горизонтальная полоса прокрутки не исчезнет. Однако это имеет побочный эффект, заключающийся в том, что раскрывающемуся тексту недостаточно ширины для отображения в целом, как показано на следующих рисунках (свойство Width и LastWidth остается равным 162):

  • Изображение моего комбинированного окна с шириной столбца 50 пт . Полоса прокрутки все еще там. Вместо «abcdefghijklmn» во втором ряду выпадающего меню отображается только «abcdefghijkl» (без mn), а в третьем - «что-то е» вместо «что-то еще». Я предполагаю, что это потому, что свойство ColumnWidths установлено слишком маленьким.
  • Изображение моего поля со списком с ColumnWidths 18 pt . Полоса прокрутки исчезла (что я и хочу). 18 пунктов - самое большое значение, которое я нашел, не имея полосы прокрутки. Но теперь он отображает только несколько (18?) Точек в любом ряду выпадающего меню, что для меня неприемлемо.

Есть идеи, как решить эту проблему?

1 Ответ

1 голос
/ 30 сентября 2019

Как указала Сиддхарт Роут, проблема была в нескольких столбцах. Установка свойства ColumnCount обратно в 1 решает эту проблему.

...