マクロにショートカットキーを設定する・解除する

マクロを実行するショートカット キーを設定することができます。
ただし、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)「マクロの記録」時にショートカット キーを割り当てる

  1. 「マクロの記録」ボタンをクリックします。
  2. 表示された「マクロの記録」ダイアログボックス「マクロ名」ボックスにマクロ名を入力します。
  3. 日本語入力モードをオフにします。
  4. 「ショートカット キー」ボックスをクリックし、「Shift」キーを押しながら文字キーを入力します。
    下図では、「Shift」+「C」を入力した直後「Ctrl+Shift+C」と表示されています。
    「OK」ボタンをクリックします。


2)マクロ作成後にショートカットキーを割り当てる

  1. 「開発」タブ「コード」グループ「マクロ」をクリックするか「Alt+F8」キーを押します。
  2. 「マクロ」ダイアログボックスを開きます。
    ショートカット キーを設定したいマクロを選択し、「オプション」をクリックします。
  3. 「マクロ オプション」ダイアログボックスが表示されます。
    「ショートカット キー」ボックスをクリックし、「Shift」キーを押しながら文字キーを入力します。
    下図では、「Shift」+「C」を入力した直後「Ctrl+Shift+C」と表示されています。

3)マクロに設定したショートカットキーを解除する

  1. 「開発」タブ「コード」グループ「マクロ」をクリックするか「Alt+F8」キーを押します。
  2. 「マクロ」ダイアログボックスが開きます。
    ショートカット キーを設定したいマクロを選択し、「オプション」をクリックします。
  3. 「マクロ オプション」ダイアログボックスが表示されるので、ショートカットキーのボックスに入力されている文字を削除して「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メソッドで設定または解除された結果は「マクロ」ダイアログボックスの
「オプション」には反映されません。

例)

  1. 「マクロ」ダイアログボックスでショートカットキーを設定
  2. OnKeyメソッドで「1.」のキーを解除
  3. 「マクロ」ダイアログボックスでは設定されたままになっているが、「1.」のキーは無効になっている。

例)

  1. OnKeyメソッドでキーを設定
  2. 「マクロ」ダイアログボックスでは設定なしの状態だが、「1.」のキーは有効。

ショートカット キーに使えるキーのコードはこちらを参考に。

Docs > Office VBA リファレンス > Excel > オブジェクト モデル > Application オブジェクト > メソッド > OnKey
https://docs.microsoft.com/ja-jp/office/vba/api/excel.application.onkey

コメントをどうぞ

%d人のブロガーが「いいね」をつけました。