VBA:application.onkey 不工作
VBA: application.onkey not working
我正在 VBA 使用看似简单的代码,尝试创建一个通过按 Enter 键触发的事件。
所以这是我在工作簿中的代码:
Option Explicit
Private Sub Workbook_Open()
Application.OnKey "", "pressEnter"
End Sub
模块中应该发生什么:
Public Sub pressEnter()
ThisWorkbook.Worksheets(1).Cells(1, 1).Value = 20
End Sub
然而,当我按下 Enter/Return 键时,没有任何反应。与普通的 Enter 一样,它会选择低于活动单元格的单元格。我尝试使用其他键,例如 ^+b
或 ^+a
,但我遇到了同样的问题。
有人看到任何解决方案吗?
您需要指定一个密钥:
- 要在数字键盘上输入,请使用
Application.OnKey "{ENTER}", "pressEnter"
- 对于正常回车使用
Application.OnKey "~", "pressEnter"
见Application.OnKey Method (Excel)
请注意,其他键如 ^+b
表示 ctrl+shift+b.确保 Public Sub pressEnter()
在 模块 中而不是在 ThisWorkbook
中。如果它在 Workbook_Open()
中不起作用,请尝试 Workbook_Activate()
。
我正在 VBA 使用看似简单的代码,尝试创建一个通过按 Enter 键触发的事件。 所以这是我在工作簿中的代码:
Option Explicit
Private Sub Workbook_Open()
Application.OnKey "", "pressEnter"
End Sub
模块中应该发生什么:
Public Sub pressEnter()
ThisWorkbook.Worksheets(1).Cells(1, 1).Value = 20
End Sub
然而,当我按下 Enter/Return 键时,没有任何反应。与普通的 Enter 一样,它会选择低于活动单元格的单元格。我尝试使用其他键,例如 ^+b
或 ^+a
,但我遇到了同样的问题。
有人看到任何解决方案吗?
您需要指定一个密钥:
- 要在数字键盘上输入,请使用
Application.OnKey "{ENTER}", "pressEnter"
- 对于正常回车使用
Application.OnKey "~", "pressEnter"
见Application.OnKey Method (Excel)
请注意,其他键如 ^+b
表示 ctrl+shift+b.确保 Public Sub pressEnter()
在 模块 中而不是在 ThisWorkbook
中。如果它在 Workbook_Open()
中不起作用,请尝试 Workbook_Activate()
。