无法更改动态添加的列表框的尺寸

问题描述 投票:0回答:2

我已经找了好几个小时了,希望有人能在这里帮助我。

我正在 vba 中创建一个表单,我想在其中动态添加列表框。列表框已添加,因此按计划进行。但是,我似乎无法更改列表框的宽度和高度。所有其他事情都在改变。这是我的代码:

Dim lb As MSForms.ListBox
Set lb = Me.controls.add("Forms.Listbox.1")
With lb
    .ColumnCount = 4
    .Left = 180
    .Top = 16
    .MultiSelect = 1
    .Height = 270
    .Width = 665
End with

我注意到的另一件事是高度和宽度不在列表框的属性列表中。难道是我使用了错误的ListBox类型?

编辑:这变得很奇怪。当我逐行查看代码时,它正常运行,并且列表框的大小是我想要的。

vba listbox height width
2个回答
0
投票

试试这个可能是

Me.Controls("Forms.Listbox.1").IntegralHeight = False 或者 lb.IntegralHeight = False


0
投票

在我的 Word VBA 脚本中,我今天动态添加了一个 ListBox 项目,并遇到了相同的错误。 .Height 和 .Width 属性似乎丢失,并且在设置自定义高度或宽度时,ListBox 不会调整大小。 经过大量故障排除后,我发现如果将

MultiSelect
属性设置为
fmMultiSelectMulti
fmMultiSelectExtended
,则会阻止调整大小。

所以,我以防其他人遇到这个问题:

首先设置宽度和高度,然后设置

MultiSelect
属性。

不敢相信这样的事情就是问题所在......

© www.soinside.com 2019 - 2024. All rights reserved.