【发布时间】:2015-12-22 19:16:00
【问题描述】:
我试过这个:
Private Sub ComboBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = vbKeyReturn Then
Me.ComboBox1.SetFocus
Show_Information_Click
End If
End Sub
不幸的是,当我按下回车键时,“焦点”从 ComboBox1 转移到了一个命令按钮,我将其用作表单的“返回”按钮。
我的 ComboBox1 采用用户输入名称(谢天谢地,它会自动完成)。该人按下回车键,其正下方的按钮(可以改为单击)激活。当按钮完成后,我的表单上的“返回”按钮现在是“焦点”,因此如果该人再次点击输入,它会使用“返回”按钮。我想将焦点设置回 ComboBox1,以便当用户按 Enter 键时,它会运行代码并将焦点返回给 ComboBox1,以便他们可以在需要时键入另一个名称并再次访问。
我什至尝试将 Me.ComboBox1.SetFocus 放在 CommandButton 事件序列的末尾,并且“返回”按钮仍处于选中状态。
谢谢!
【问题讨论】:
-
你贴的代码在
Show_Information_Click之前有Me.ComboBox1.SetFocus,你试过了吗? -
另外,为避免焦点发生任何变化,您的情况是否允许您将
Show_Information_Click代码封装在第三个 Sub 中,可能是Show_Information_Inner,并从Show_Information_Click和 @ 调用该 sub 987654327@?
标签: excel vba combobox focus userform