我在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
,我遇到了同样的问题。
有人看到任何解决方案吗?
答案 0 :(得分:2)
您需要指定一个键:
Application.OnKey "{ENTER}", "pressEnter"
Application.OnKey "~", "pressEnter"
请参阅Application.OnKey Method (Excel)
请注意,^+b
等其他键表示 ctrl + shift + b 。确保Public Sub pressEnter()
位于模块中,而不是ThisWorkbook
中。如果它不适用于Workbook_Open()
,请尝试Workbook_Activate()
。