我正在尝试使用Application.OnKey在按下Enter时启动一个函数,它工作得很好。但问题是,如果我打开其他电子表格,它也适用于这些。我应该在哪里放置代码,使其仅适用于预期的电子表格?
这是我在" ThisWorkbook":
中的代码Private Sub Workbook_Open()
Application.OnKey "~", "Set_Hyper"
Application.OnKey "{ENTER}", "Set_Hyper"
End Sub
答案 0 :(得分:5)
绕道而行:
Private Sub Workbook_Open()
Application.OnKey "~", "Call_Hyper"
Application.OnKey "{ENTER}", "Call_Hyper"
End Sub
在模块中放置:
Sub Call_Hyper
If Activeworkbook.Name = "NAME OF YOUR WORKBOOK" Then
Call Set_Hyper
Else
Exit Sub
End If
End Sub
如果另一个工作簿需要相同的快捷方式,则这两个工作簿会导致问题,因此您也可以在切换工作簿时停用它:
Private Sub Workbook_DeActivate()
Application.OnKey "~"
Application.OnKey "{ENTER}"
End Sub
您需要将第一个宏更改为Private Sub Workbook_Activate()
而不是Private Sub Workbook_Open()
才能使上述内容正常工作