✅ はじめに
Excel VBAで作業を効率化する中で、
「Ctrl + 任意のキーでマクロを呼び出したい!」と思ったことはありませんか?
実は、VBAには標準でショートカットキーをマクロに割り当てる方法が用意されています。
この記事では、
・Ctrl+◯でマクロを実行する方法
・割り当て時の注意点
・実際の使用例
を解説します。
■ 方法:Application.OnKeyでショートカットキーを設定
○ 基本構文
Application.OnKey "^{c}", "MyMacro"
これは、Ctrl + C に MyMacro というマクロを割り当てる例です。
⚠ 実際には、Ctrl+Cは「コピー」の既定動作に上書きされるため、他のキー(例:Ctrl+Shift+Cなど)がおすすめです。
○ 具体例:Ctrl+Shift+Cでマクロ実行
Sub SetShortcutKey()
Application.OnKey "^+c", "MyMacro" ' Ctrl + Shift + C に割り当て
End Sub
Sub MyMacro()
MsgBox "Ctrl+Shift+C が押されました!"
End Sub
■ 解除方法(戻す方法)
Application.OnKey "^+c"
引数を1つだけにすれば、割り当てたショートカットを解除できます。
それか全コードをコメントアウトすると機能が失われて解除できます。
■ 起動時に自動設定するには?
ThisWorkbook の Workbook_Open イベントに書けば、Excelファイルを開いたときに自動で割り当てられます。
Private Sub Workbook_Open()
Application.OnKey "^+c", "MyMacro"
End Sub
■ 注意点まとめ
項目 | 内容 |
---|---|
既定ショートカットの上書きに注意 | Ctrl+CやCtrl+Vは極力避けましょう |
アプリ終了で無効化される | Excelを閉じるとOnKey設定はリセットされます |
Ctrl+Shift、Ctrl+Altも指定可能 | ^, +, % で表現できます |
Shift単体キーは非対応 | + を単体で使っても反応しません(Alt, Ctrlとの組合せが基本) |
■ 補足:記号対応表(OnKeyで使えるキー)
入力記号・表記 | キー内容・意味 |
---|---|
^ | Ctrl(コントロールキー) |
+ | Shift(シフトキー) |
% | Alt(オルトキー) |
{F1} ~ {F12} | ファンクションキー(F1〜F12) |
{ENTER} | Enterキー |
{TAB} | Tabキー |
{ESCAPE} | Escキー |
{BACKSPACE} | バックスペースキー |
{DELETE} | Deleteキー |
{INSERT} | Insertキー |
{HOME} | Homeキー |
{END} | Endキー |
{PGUP} | Page Upキー |
{PGDN} | Page Downキー |
{UP} | ↑(矢印上キー) |
{DOWN} | ↓(矢印下キー) |
{LEFT} | ←(矢印左キー) |
{RIGHT} | →(矢印右キー) |
{SPACE} | スペースキー |
{BREAK} | Break(一部環境ではPause) |
{CAPSLOCK} | Caps Lockキー |
{NUMLOCK} | Num Lockキー |
{SCROLLLOCK} | Scroll Lockキー |
■ まとめ
VBAでショートカットキーを割り当てると…
・よく使う処理をワンタッチで実行できる
・リボンやボタンを使わず操作できてスマート
・定常業務の操作ミスや手間を削減できる
■ 実務でよくある活用例:
- Ctrl+Shift+P:印刷プレビューを表示
- Ctrl+Shift+L:ログファイルに出力
- Ctrl+Shift+V:値貼り付け実行
小さな自動化こそ、日々のストレスを減らす最大の武器です。
■ 関連記事
【VBA小技】F3キーに独自機能を割り当てるには?Excelでファンクションキーをカスタマイズ
【VBA】「コンパイルエラー 修正候補: =」の原因と対処法|Callを使うべきタイミングとは?
■ 関連キーワード
- VBA ショートカットキー 登録方法
- Application.OnKey 使い方
- Ctrl+キー マクロ 実行
- Excel VBA OnKey イベント
- マクロ 自作ショートカット
- VBA ショートカット 割り当て 記号