取消选择单个选择列表框

时间:2016-04-25 11:53:47

标签: vba excel-vba listbox excel

我在userform上有一个列表框,在任何一个点上都可以选择最多1个项目。将列表框设置为MultiSelect = fmMultiSelectSingle可以提供此功能,但可以阻止用户取消选择所选列表项。

为了做到这一点,我添加了一个MouseDown事件,无论当前选择状态如何,都会在点击项目时触发,而Click事件仅在单击新项目时触发。< / p>

我的代码(简化如下)允许用户选择条目。单击该条目时,将选中该条目。当尝试通过单击取消选择相同的条目时,MouseDown被触发,该项目被取消选择,这将触发更改事件,该事件由设置为blnDisableEvents的{​​{1}}缩短返回True子,然后运行到最后。但是在MouseDownEnd Sub之后,重新选择了刚刚取消选中的项目,这会再次触发MouseDown事件。

如何阻止重新选择列表框中刚刚取消选择的项目?

设定:
Userform包含一个名为Change

的列表框

代码:

ListBox1

1 个答案:

答案 0 :(得分:0)

用一个模块(Module1)、一个UserForm(UserForm1)创建一个项目,其中有一个ListBox(ListBox1)和两个按钮(cbuOk、cbuCancel)和Sheet1中的四个单元格{{ 1}} 如下图所示:

enter image description here

然后点击A列中的一个单元格。确定完成并在所选单元格中写入所选项目。

enter image description here

Sheets1.Range ("B1: B4") = (Item1, Item2, Item3, Item4)