2016-10-05 3 views
0

Application.OnKeyメソッドを使用して、Excel 2013で特定のキーを押したときにサブを実行しようとしています。私は、サブMyEventを実行しないキーを押すと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 

を持っています。コードを修正して動作させるにはどうすればよいですか?


EDIT:代わりにENTERrtx、およびz:私はキーがあることを押すことにしたいです。

+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