将热键分配给为excel vba创建的表单上的按钮

Yog*_*oga 4 excel vba userform

我已经为excel创建了一个宏,它将弹出包含按钮和文本字段的表单.有没有办法为按钮指定热键,例如'ctrl + Enter'或'F12'?无论焦点在哪个字段或按钮上,热键都应该有效.

(到目前为止,我已设法创建按钮/ fields_Keydowns来检查vbKeyF12的MSForms.ReturnInteger,但我必须为每个字段和按钮执行此操作,是否有更简单的方法?)

说,我在表单上有2个东西,按钮"CommandButton1"和textfield"TextBox1"

按钮的代码:

Private Sub CommandButton1_click()
ActiveCell.FormulaR1C1 = UserForm1.TextBox1.Text 
End Sub
Run Code Online (Sandbox Code Playgroud)

当我添加更多字段和按钮时,热键将非常有用......

另外如何设置'Escape'按钮来关闭/隐藏表单?

Ste*_*bob 6

设置"Escape"键以激活按钮以关闭/隐藏表单:首先,您需要一个Click事件隐藏表单的按钮.然后将该按钮的"取消"属性设置为True.

显示表单后,按Esc键,表单将关闭.

对于'HotKey',将按钮的Accelerator属性设置为一个字母,然后当您的表单打开时,如果按Alt + [您的字母],将触发该按钮的Click事件.