如何使combobox不接受Excel Vba中的用户输入并允许Vba.value更改?

如何使combobox不接受Excel Vba中的用户输入并允许Vba.value更改?,excel,combobox,vba,Excel,Combobox,Vba,我的userform上有一个组合框,它应该由vba代码更改,但我不希望任何用户能够键入值,只有vb应该具有此功能,用户应该只能选择值 有什么想法吗?只要将“锁定”属性更改为True即可。它将阻止用户更改该值:但是VBA仍然可以。例如,以下代码锁定组合框;然后添加两个值并选择一个: Private Sub UserForm_Initialize() With ComboBox1 .Locked = True ' Prevents the user changing anyth

我的userform上有一个组合框,它应该由vba代码更改,但我不希望任何用户能够键入值,只有vb应该具有此功能,用户应该只能选择值

有什么想法吗?

只要将“锁定”属性更改为True即可。它将阻止用户更改该值:但是VBA仍然可以。例如,以下代码锁定组合框;然后添加两个值并选择一个:

Private Sub UserForm_Initialize()
    With ComboBox1
       .Locked = True ' Prevents the user changing anything
       .AddItem "Hello"
       .AddItem "World"
       .Value = "Hello" ' Sets the value with VBA
    End with
End Sub
只需将“Locked”属性更改为True。它将阻止用户更改该值:但是VBA仍然可以。例如,以下代码锁定组合框;然后添加两个值并选择一个:

Private Sub UserForm_Initialize()
    With ComboBox1
       .Locked = True ' Prevents the user changing anything
       .AddItem "Hello"
       .AddItem "World"
       .Value = "Hello" ' Sets the value with VBA
    End with
End Sub

按照Chris的建议,添加项目,然后为框设置默认值,但是,不要设置为锁定,通过选择此框中的组合框选择黄色选项。

按照Chris的建议,添加项目,然后为框设置默认值,但是,不要设置为锁定,通过选择此框中的组合框选择黄色选项。

用户能否选择列表中的任何项目?(很抱歉没有测试,我刚离开办公室)。这将设置值,但用户无法选择(锁定)检查我的回答如果希望用户能够选择值,但不能自由键入自己的值,则只需将.Style属性设置为2。因此,设置.Style=2而不是.Locked=True。这将限制用户的选择仅限于您通过VBA添加的值。用户是否能够选择列表中的任何项目?(很抱歉没有测试,我刚离开办公室)。这将设置值,但用户无法选择(锁定)检查我的回答如果希望用户能够选择值,但不能自由键入自己的值,则只需将.Style属性设置为2。因此,设置.Style=2而不是.Locked=True。这将限制用户的选择仅限于通过VBA添加的值。