我有一系列基于前面的ComboBoxes选择填充的ComboBox。因此,例如,ComboBox3是根据ComboBox2中选择的值填充的。填充ComboBox3的“触发器”是DropButtonClick操作。当ComboBox2中没有值时,我会弹出一个消息框。这是成功的-下面的代码。
If Me.ComboBox2.ListIndex = -1 Then
MsgBox "Please select all preceding comboboxes"
ComboBox3.Value = ""
Exit Sub
Else
sh.Range("B2") = Me.ComboBox2.Value
End If我的问题是,一旦Message Box出现(由于ComboBox2中没有值),ComboBox3仍然显示下拉值。在ComboBox3 DropButtonClick Event中没有值时,是否有一种方法可以撤消ComboBox2,从而使ComboBox3永远不会下降?
发布于 2016-12-13 16:00:14
您可以通过模拟"ESC“键立即关闭组合框的下拉窗口:
MsgBox "Please select all preceding comboboxes"
ComboBox3.Value = ""
' close immediately the combo's dropdown window
SendKeys "{ESC}{ESC}" 发布于 2016-12-13 15:46:01
这是给你的吗?
If Me.ComboBox2.Value = "" Then
ComboBox2.SetFocus
Else
sh.Range("B2") = Me.ComboBox2.Value
End If当您想要单击combobox3的下拉按钮时,它会自动返回到combobox2。
https://stackoverflow.com/questions/41124564
复制相似问题