[ExcelVBA]ファンクションキー(F1など)を割り当てマクロを実行する方法

今回はExcelのワークシートで
ファンクションキーを押すとマクロを実行する方法をメモします。

 

ファンクションキー(F1~F12)でマクロ実行する方法

大きく分けて、以下3ステップです。

1.ThisWorkbook をダブルクリックし、以下のような感じのコードをかく

Private Sub Workbook_Open()
  'F1キーを押すと「処理」実行
Application.OnKey "{F1}", "処理"
End Sub

2.Module に以下のように処理したいコードをかく

Sub 処理()
MsgBox "こんにちは"
End Sub

3.以上のコードを記述し、一度excelを保存し、終了、再度開きなおす。

Wookbook_Openはワークブックが開いた時以降の処理のため、一度開きなおします。
ここまでを行う事で、Excelのワークシート内でF1キーを押すと、「こんにちは」とメッセージが出るようになります。

F1は通常はヘルプが起動しますが、正直必要のないことが多いので、マクロ割り当てしちゃうほうが有効活用できそうですね。

ファンクションキー以外のキーボードのコード

もちろんファンクションキー以外もマクロ割り当てすることは可能です。
その際のキーとコードの一覧は以下になります。

キーボード VBAコード
BackSpace {BACKSPACE}
Break {BREAK}
CapsLock {CAPSLOCK}
Delete {DELETE}
End {END}
Enter (テンキー) {ENTER}
Enter ~
Esc {ESC}
Help {HELP}
Home {HOME}
Ins {INSERT}
NumLock {NUMLOCK}
PageDown {PGDN}
PageUp {PGUP}
Return {RETURN}
ScrollLock {SCROLLLOCK}
Tab {TAB}
{UP}
{DOWN}
{LEFT}
{RIGHT}

この中だと「ScrollLock」なんかが一番使われないキーと思うので、
割り当てに使いやすいかもしれません。

コメント