VBA開発

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

構文

Application.OnKey(Key, Procedure)

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

注意点

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

キーコード一覧

該当キーコード表記備考
a~za から 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 "<span data-ttu-id="c98de-142">~</span>", "TestModule"

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

   Enterを通常の機能に戻す(引数省略)
   Application.OnKey "<span data-ttu-id="c98de-142">~</span>"

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

使い方例

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

「Ctrl+Shift+Q」で「セル結合・セル結合解除」をパーツ化する。【エクセルマクロ】
「Ctrl+Shift+V」で「値で貼付する」をパーツ化する。【エクセルマクロ】
「F1」キーを無効設定し、ヘルプを起動させない【エクセルマクロ】
「ActiveSheetをCSV出力して保存する」をパーツ化する。【ショートカットキー】【VBAマクロ】
「ActiveSheetをタブ区切りのテキストで出力保存する」をパーツ化する。【VBAマクロ】
「ActiveSheetをPDF保存する」をパーツ化する【ショートカットキー】【VBAマクロ】

 

コメント

タイトルとURLをコピーしました