excel 删除列表框上的滚动条

olmpazwi  于 2023-02-20  发布在  其他
关注(0)|答案(7)|浏览(253)

我在vba中使用一个userForm,我有一个列表框。我想从底部删除horoz.scroll条。有办法吗?我在属性框中没有看到任何选项。

w8f9ii69

w8f9ii691#

当您将列表框的列宽格式属性设置为某个宽度,然后根据数据调整控件大小时,就会出现这种情况,它将显示滚动条。
要解决这个问题,请将格式选项卡下的“列宽”属性更改为非常小的值,然后反复使用此属性和列表框控件的大小,直到您得到想要的结果,并且没有滚动条显示。

t40tm48m

t40tm48m2#

您需要将列表框或组合框的ListWidth属性设置为大于ColumnWidth属性。
第一个是你在屏幕上显示的东西的大小,第二个是你想放进第一个里面的东西的大小。

0ejtzxu1

0ejtzxu13#

正如在其他回复中提到的,这是ColumnWidth和Width的组合。

列计数:列表框允许数据在多个列中移动,但这是另一回事。对于简单的情况,请将列计数设置为1
宽度:通过拉伸图形设置
**ColumnWidths:**这将设置列的宽度。在简单的情况下,找出设置的宽度,然后从该值中减去滚动条宽度。默认情况下,列宽度设置为宽度。因为还包括垂直滚动条的大小。如果

((sum of columnwidths) + vertical scrollbar width) > (width / column count)

在简单的情况下,只有一个列宽和一列,因此在以下情况下将显示水平滚动条

(columnwidths + vertical scrollbar width) > width

要找到滚动条的宽度,拖动一个滚动条到画布上,滚动到属性的底部,找到宽度,在我的例子中是12.75,为了简化运算,把它设为12。
示例:

Column Count = 1
Width = 48pt
Column Widths = 48 - 12 = 36pt
rsaldnfx

rsaldnfx4#

试着让列表框宽一点...不是mucn宽一点,但刚好可以摆脱水平滚动条。
也许那会有用。

nnsrf1az

nnsrf1az5#

单击用户窗体。在属性Stats下,查找KeepScrollBarsVisible。
将其更改为0 - fmScrollBarsNone
我用这个工作了两个小时-试图在列表框中找到答案。它不在那里!

aemubtdh

aemubtdh6#

我在窗体的开头声明了columnwidth,它工作起来很有魅力!

ahy6op9u

ahy6op9u7#

实际上对我有效的技术是将Data节中的ColumnWidths属性设置为比Position节中的属性Width小的数字。在下面的图像中,我将ColumnWidths设置为30pt大小,这比属性Width中的数字40小。请找到一张显示这两个属性的图像。我希望这能有所帮助。

相关问题