9

我在 vba 中使用 userForm 并且我有一个列表框。我想删除horoz。从底部滚动条。有没有办法做到这一点?我在属性框中没有看到任何选项。

在此处输入图像描述

4

6 回答 6

9

当您将列表框的列宽格式属性设置为某个宽度时,可能会发生这种情况,然后您根据数据调整控件的大小,它将显示滚动条。

要解决此问题,请将格式选项卡下的“列宽”属性更改为非常小的值,然后使用此属性和列表框控件的大小,直到获得所需的大小,并且不显示滚动条。

于 2011-04-12T18:04:10.637 回答
2

您需要将列表框或组合框的属性 ListWidth 设置为大于属性 ColumnWidth。

第一个是您在屏幕上显示的内容的大小,第二个是您想要放入第一个内容的大小。

于 2016-07-27T09:59:24.930 回答
1

正如其他回复中提到的,这是 ColumnWidth 和 Width 的组合。主要参与者是

ColumnCount:列表框允许数据在多个列中蜿蜒,但这是另一回事。对于简单的情况,将 Column Count 设置为 1

宽度:这是通过拉伸绘图来设置的

ColumnWidths:这将设置列的宽度。在简单的情况下,找出设置的 Width 并从该值中减去滚动条宽度。默认情况下,列宽设置为宽度。因为 in 还包括垂直滚动条的大小。如果出现水平滚动条

((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
于 2022-01-23T08:57:53.947 回答
0

尝试使列表框更宽一点......不是 mucn 更宽,但足以摆脱水平滚动条。

也许这会奏效。

于 2011-04-12T16:08:00.573 回答
0

单击用户窗体。在 Property Stats 下,查找 KeepScrollBarsVisible。
将其更改为 0 - fmScrollBarsNone

我为此工作了两个小时——试图在 ListBox 中找到答案。它不在那里!

吉姆

于 2013-11-29T20:08:06.897 回答
0

我在表格的开头声明了列宽,它就像一个魅力!

于 2016-06-28T06:33:13.640 回答