我已经找了好几个小时了,希望有人能在这里帮助我。
我正在 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类型?
编辑:这变得很奇怪。当我逐行查看代码时,它正常运行,并且列表框的大小是我想要的。
试试这个可能是
Me.Controls("Forms.Listbox.1").IntegralHeight = False 或者 lb.IntegralHeight = False
在我的 Word VBA 脚本中,我今天动态添加了一个 ListBox 项目,并遇到了相同的错误。 .Height 和 .Width 属性似乎丢失,并且在设置自定义高度或宽度时,ListBox 不会调整大小。 经过大量故障排除后,我发现如果将
MultiSelect
属性设置为 fmMultiSelectMulti
或 fmMultiSelectExtended
,则会阻止调整大小。
所以,我以防其他人遇到这个问题:
首先设置宽度和高度,然后设置
MultiSelect
属性。
不敢相信这样的事情就是问题所在......