_基本

任意のキー押下でマクロを起動する【OnKey メソッド 】VBA

構文

Application.OnKey(Key, Procedure)

Key        ・・・押下するキーの文字列を指定
Procedure ・・・実行するプロシージャ名の文字列※省略可能

注意点

  • Procedureを空の文字列を指定した場合、Excelのキー操作を無効にします。
  • Procedureを省略した場合、Excelのキー操作を通常に戻します。

キーコード一覧

該当キー コード表記 備考
a~z a から z
Enter ~ (ティルダ)
Enter (テンキー) {ENTER}
F1 ~ F15 {F1} から {F15}
Esc { ESCAPE} 
{ESC}
BackSpace {BACKSPACE} 
{BS}
Break {BREAK}
CapsLock {CAPSLOCK}
Clear {CLEAR}
Delete または Del {DELETE}
{DEL}
終了 {END}
ヘルプ {HELP}
ホーム {HOME}
Ins {INSERT}
NumLock {NUMLOCK}
PageDown {PGDN}
PageUp {PGUP}
Return {RETURN}
ScrollLock {SCROLLLOCK}
Tab {TAB}
{DOWN}
{LEFT}
{RIGHT}
{UP}
Shift + (正符号) 他キーと組み合わせで使用
Ctrl ^ (カレット) 他キーと組み合わせで使用
Alt % (パーセント記号) 他キーと組み合わせで使用
Command *(アスタリスク)
Mac にのみ適用
他キーと組み合わせで使用

コードサンプル

Public Sub test()
   Enterで TestModuleを登録
   Application.OnKey "~", "TestModule"

   Shift + Ctrl + 上 にTestModule登録
   Application.OnKey "+^{UP}", "TestModule"

   Enterを通常の機能に戻す(引数省略)
   Application.OnKey "~"

   F1を無効(引数を空の文字列)
   Application.OnKey "{F1}", ""
End Sub

使い方例

Ctrl + C (コピー)や Ctrl + V(貼り付け)のように
エクセルでは準備されているショートカットは操作性を上げます。
エクセルでは準備されていないが、よく使用する動作は、OnKeyでショートカットキーを自作しましょう。

関連記事

 

コメント