and*_*ndo 3 excel vba excel-vba
我正在尝试使用Application.OnKey在按下Enter键时启动一个函数,并且效果很好。但是问题是,如果我还有其他电子表格打开,它也将应用于这些电子表格。我应该在哪里放置代码,使其仅适用于预期的电子表格?
这是我在“ ThisWorkbook”中拥有的代码:
Private Sub Workbook_Open()
Application.OnKey "~", "Set_Hyper"
Application.OnKey "{ENTER}", "Set_Hyper"
End Sub
Run Code Online (Sandbox Code Playgroud)
解决方法:
Private Sub Workbook_Open()
Application.OnKey "~", "Call_Hyper"
Application.OnKey "{ENTER}", "Call_Hyper"
End Sub
Run Code Online (Sandbox Code Playgroud)
在模块中放置:
Sub Call_Hyper
If Activeworkbook.Name = "NAME OF YOUR WORKBOOK" Then
Call Set_Hyper
Else
Exit Sub
End If
End Sub
Run Code Online (Sandbox Code Playgroud)
如果另一个工作簿需要相同的快捷方式,则这两个都将导致问题,因此您也可以在切换工作簿时使用以下方式将其停用:
Private Sub Workbook_DeActivate()
Application.OnKey "~"
Application.OnKey "{ENTER}"
End Sub
Run Code Online (Sandbox Code Playgroud)
您将需要将第一个宏更改为,Private Sub Workbook_Activate()而不是Private Sub Workbook_Open()以上宏才能正常工作
| 归档时间: |
|
| 查看次数: |
1930 次 |
| 最近记录: |