VBA无模式窗体停止功能键

Sph*_*inx 5 excel vba excel-vba modeless

我想在我的Excel程序中拥有自己的帮助文件.

在里面

Private Sub Workbook_Open()
Run Code Online (Sandbox Code Playgroud)

我有

Application.OnKey "{F1}", "Help"
Run Code Online (Sandbox Code Playgroud)

当我在Excel工作表上但我的应用程序基于全屏主用户窗体时显示无模式.

当用户窗体可见时,它会F1以某种方式阻止密钥,并且宏不会触发.

我认为无模式表单不会阻止代码执行.

任何提示我如何才能使这项工作?

cyb*_*shu 5

您需要keyDown在UserForm本身上捕获事件.当UserForm获得焦点时,无论您按哪个键都会转到UserForm.

'/UserForm1 is a sample name.

Private Sub UserForm_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
     If KeyCode = 112 Then '/ F1
        Call Help
     End If
End Sub
Run Code Online (Sandbox Code Playgroud)