Excelショートカットキーと自作アドインとのコンフリクト回避法

先日『神速Excel』という本を読んで、Altキーを使ったコマンド選択を仕事で使うようにしている。
例えばセルの塗りつぶしをAlt→H→H→Nだったり、格子にするのにAlt→H→B→Aだったり。
手が覚えるくらいにキーを打てれば便利だろうなと思う一方で、とは言えなかなか覚えられないというのが正直なところ。
この本自体はセルの選択、作業に分けて効率化する手法が書かれており実際に使える良書である。

神速Excel 【ダウンロード教材付き】

神速Excel 【ダウンロード教材付き】

  • 作者:中田 元樹
  • 発売日: 2019/09/05
  • メディア: 単行本(ソフトカバー)

そこでとなると飛躍するが最近Excelのアドインを自作している。
具体的には値貼付けとか、セルのグレーアウトだったりVBAのコードとしては短いけど実務で使うもの。
マクロ記録で記録としてはアドインに関数として追記して、関数にキー割り当てするという作業をコツコツとこなしていた。


その中で苦労したのが、デフォルトで設定されているショートカットキーとのコンフリクトを回避する点。
というのもExcelの場合かなりのCtrlキー+「」がすでに使われている。

またaltキー+「」もアクセスキーという名のショートカットキーライクなものが存在する。
具体的には下の画像にあるようなAltキー押した際にExcel上に表示される文字だが、厄介なことに表示されている以外にも以前のバージョンの名残で残っているため、こちらも留意が必要ということ。

Excel_accsesskey
Excelアクセスキー


そのため、自作したアドインのショートカットキーを割り当てようとしても設定できない場合が多い。
上書きするというのも手としてはあるが、環境が変わったときに同様の操作ができないため、極力自分はデフォルト設定はそのままで空いているキーに追加するというスタンスをとっている。

そこでその対策として地道な手ではあるが、どのキーに何のコマンドが割り当てられているかのキーマップを作成してみた。
それが以下の画像。

Excel_keymap
Excel_keymap
すべてのショートカットキーを網羅できてはいないが、ひとまず割り当て時に悩まなくてすみそう。
作ってみて今まで知らなかったショートカットを発見することもあったのは、思わぬ良かった点。
また、Excelマクロの仕様としてundoができないため、各コマンドに対するundoに相当するコマンドも同時に設定してやる必要がある点。例えば、「グレー塗りつぶし」する操作と同時に「塗りつぶしなし」を作る等。

Excelだけでなく、CADソフトとかコマンドが多いので一度整理する意味で作ると便利かと思う。