我在 vba 中使用 userForm 并且我有一个列表框。我想删除horoz。从底部滚动条。有没有办法做到这一点?我在属性框中没有看到任何选项。
6 回答
当您将列表框的列宽格式属性设置为某个宽度时,可能会发生这种情况,然后您根据数据调整控件的大小,它将显示滚动条。
要解决此问题,请将格式选项卡下的“列宽”属性更改为非常小的值,然后使用此属性和列表框控件的大小,直到获得所需的大小,并且不显示滚动条。
您需要将列表框或组合框的属性 ListWidth 设置为大于属性 ColumnWidth。
第一个是您在屏幕上显示的内容的大小,第二个是您想要放入第一个内容的大小。
正如其他回复中提到的,这是 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
尝试使列表框更宽一点......不是 mucn 更宽,但足以摆脱水平滚动条。
也许这会奏效。
单击用户窗体。在 Property Stats 下,查找 KeepScrollBarsVisible。
将其更改为 0 - fmScrollBarsNone
我为此工作了两个小时——试图在 ListBox 中找到答案。它不在那里!
吉姆
我在表格的开头声明了列宽,它就像一个魅力!