Excel中的VBA ActiveX ComboBox - 如何允许用户键入输入但只接受有效的项目?

时间:2014-01-09 16:30:02

标签: vba excel-vba combobox excel-2010 excel

this question相关,我希望能够做一些稍微不同的事情。我有一个组合框,将有很多项目(100 +)。这是我必须处理的约束。

是否有设置允许组合框阻止用户添加新值但仍允许输入,以帮助自动填充或在输入时通过输入来“选择”该值?

我知道有一种方法是为每个组合框编写一个事件处理程序来验证输入,但我不想将其与所有组合框架联系起来我想要这个功能。

1 个答案:

答案 0 :(得分:0)

是的,可以通过更改 MatchEntry MatchRequired 的默认设置来完成ComboBox的> 属性。我设置

  

MatchEntry:1-fmMatchEntryComplete

,当用户根据提供给ComboBox的列表输入ComboBox的文本部分时,它将自动完成。

设置

  

必填项:真

将验证在组合框的文本部分中键入的所有文本。

因此,在下面的屏幕截图中,您可以在第一个屏幕中看到我可以键入hu,并且表单会使用hup2020自动完成,其中蓝色突出显示了自动完成的内容。您还可以在第二个屏幕截图中看到我的ComboBox的下拉列表,并且由于输入而选择了hup2020。

我仍然可以在组合框的文本部分中键入其他内容,但是,一旦我点击Enter,表单就会弹出一个无效的输入错误框,如上一个屏幕截图所示。

enter image description here

enter image description here