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()