更改动态添加的ListBox的尺寸

问题描述 投票: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类型?

当我逐行浏览代码时,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.