2016-10-05 8 views
0

Я пытаюсь выполнить sub, когда я нажимаю определенный ключ в Excel 2013, используя метод Application.OnKey.Application.OnKey не работает

У меня есть следующий код

Public Sub Workbook_Open() 
    Application.OnKey "{r}", "MyEvent" 
    Application.OnKey "{t}", "MyEvent" 
    Application.OnKey "{x}", "MyEvent" 
    Application.OnKey "{z}", "MyEvent" 
End Sub 

Public Sub Workbook_BeforeClose(Cancel As Boolean) 
    Application.OnKey "{r}" 
    Application.OnKey "{t}" 
    Application.OnKey "{x}" 
    Application.OnKey "{z}" 
End Sub 

Public Sub MyEvent() 
    MsgBox "Hello" 
End Sub 

При нажатии клавиши вспомогательный MyEvent делает не выполняется. Как я могу изменить код, чтобы он работал?


EDIT: Я хочу, чтобы клавиши нужно нажимать, чтобы быть: r, t, x и z вместо ENTER.

+0

Я уже пробовал воссоздать решение, но оно, похоже, не работает для меня. Я не буду запускать макрос, когда я нажимаю клавиши «r», «t», «z» и «x». –

ответ

0

Это работает для меня. Добавьте код в модуль, сохраните книгу и закройте ее.

Private Sub Workbook_Activate() 

    Application.OnKey "r", "MyEvent" 
    Application.OnKey "t", "MyEvent" 
    Application.OnKey "x", "MyEvent" 
    Application.OnKey "z", "MyEvent" 

End Sub 

Private Sub Workbook_Deactivate() 

    Application.OnKey "r" 
    Application.OnKey "t" 
    Application.OnKey "x" 
    Application.OnKey "z" 

End Sub 

Public Sub MyEvent() 
    MsgBox "Hello" 
End Sub