マクロを実行するショートカット キーを設定することができます。
ただし、Excelに最初から設定されているショートカットキー「Ctrl+S」(上書き保存)や「Ctrl+C」(コピー)と重なると、マクロの方が優先されてしまいます。
そのため、「Ctrl+Shift+C」のように「Shift」キーを加えることが多いようです。
Excelの既定のショートカットキー(Microsoft サポート)
ここでは、次のショートカットキーの設定または解除方法を説明します。
ただし、以下の操作画面や手順は、Microsoft Excel for Office 365(2019.10現在)のものです。
1)「マクロの記録」時にショートカット キーを割り当てる
2)マクロ作成後にショートカットキーを割り当てる
3)マクロに設定したショートカットキーを解除する
4)ショートカット キーを割り当てた記録マクロを修正する方法
5)VBAのApplicationオブジェクトのOnKeyメソッドを使ったショートカット キーの設定/解除
1)「マクロの記録」時にショートカット キーを割り当てる
- 「マクロの記録」ボタンをクリックします。
- 表示された「マクロの記録」ダイアログボックス「マクロ名」ボックスにマクロ名を入力します。
- 日本語入力モードをオフにします。
- 「ショートカット キー」ボックスをクリックし、「Shift」キーを押しながら文字キーを入力します。
下図では、「Shift」+「C」を入力した直後「Ctrl+Shift+C」と表示されています。
「OK」ボタンをクリックします。
2)マクロ作成後にショートカットキーを割り当てる
- 「開発」タブ「コード」グループ「マクロ」をクリックするか「Alt+F8」キーを押します。
- 「マクロ」ダイアログボックスを開きます。
ショートカット キーを設定したいマクロを選択し、「オプション」をクリックします。
- 「マクロ オプション」ダイアログボックスが表示されます。
「ショートカット キー」ボックスをクリックし、「Shift」キーを押しながら文字キーを入力します。
下図では、「Shift」+「C」を入力した直後「Ctrl+Shift+C」と表示されています。
3)マクロに設定したショートカットキーを解除する
- 「開発」タブ「コード」グループ「マクロ」をクリックするか「Alt+F8」キーを押します。
- 「マクロ」ダイアログボックスが開きます。
ショートカット キーを設定したいマクロを選択し、「オプション」をクリックします。
- 「マクロ オプション」ダイアログボックスが表示されるので、ショートカットキーのボックスに入力されている文字を削除して「OK」をクリックします。
4)ショートカット キーを割り当てた記録マクロを修正する
記録マクロを修正するには、同一名で記録をし直しますが、
すでにショートカット キーを割り当てている場合は、下図のように同一キーを割り当てることができません。
そのため、いったんショートカットキーの割り当てを解除(3)を実行してから作り直してください。
5)VBAのApplicationオブジェクトのOnKeyメソッドを使ったショートカット キーの設定/解除
VBAの「Application.OnKey」メソッドを使用すれば、処理のタイミングでショートカット キーの設定や解除を行うことができます。
書式:Application.OnKey “キー”, “プロシージャ名”
よく使うキー
Shift | + |
Ctrl | ^ |
Alt | % |
文字 | a~z |
例1) [Ctrl+Shift+C]のショートカットキーを「テスト」プロシージャに設定する
Application.OnKey “^+C”, “テスト”
例2)[Ctrl+Shift+C]のショートカットキーを解除する
Application.OnKey “^+C”,””
プロシージャ名部分を””にすると、「キー」は Microsoft Excel で通常の結果に戻り、
前のOnKeyメソッドで行われた特殊なキーの割り当てはクリアされます。
——— 注意 ———
OnKeyメソッドで設定または解除された結果は「マクロ」ダイアログボックスの
「オプション」には反映されません。
例)
- 「マクロ」ダイアログボックスでショートカットキーを設定
- OnKeyメソッドで「1.」のキーを解除
- 「マクロ」ダイアログボックスでは設定されたままになっているが、「1.」のキーは無効になっている。
例)
- OnKeyメソッドでキーを設定
- 「マクロ」ダイアログボックスでは設定なしの状態だが、「1.」のキーは有効。
ショートカット キーに使えるキーのコードはこちらを参考に。
Docs > Office VBA リファレンス > Excel > オブジェクト モデル > Application オブジェクト > メソッド > OnKey
https://docs.microsoft.com/ja-jp/office/vba/api/excel.application.onkey