日本語入力ソフトとVBAの覚え書き

・各種日本語入力ソフトの辞書解説 ・ちょっと楽になるExcel VBA集

マクロに割り当てられるショートカットキーについて ~エクセル編~

f:id:dz_dzone:20170814233145j:plain

はじめに

マクロにはショートカットキーを割り当てることが出来ますが、標準で設定されているショートカットキーもあり、それじゃあ一体どのキーなら使っていいの?ってなりますよね。

マクロにショートカットキーを割り当てる方法

マクロにショートカットキーを割り当てるには、マクロの記録をするときに設定するか、マクロの作成後にマクロのオプション画面から設定します。

f:id:dz_dzone:20171117152011j:plain

f:id:dz_dzone:20171117152022j:plain

そもそもエクセルのショートカットキーってどういうのがあるの?

エクセルのショートカットについてはものすごく詳しく分かりやすいサイトがあるのでこちらをご覧下さい。
excel-hack.com

アルファベットを使っている物だけを抽出すると下表のようになります。

ショートカットキー 機能
Ctrl+A 全てを選択
Ctrl+B 文字を太字(ボールド)にする
Ctrl+C コピー
Ctrl+D 下方向へコピー
Ctrl+E 選択している列の周囲のデータを使用して、その列に値を入力
Ctrl+F 検索
Ctrl+G ジャンプ
Ctrl+H 置換
Ctrl+I 文字をイタリックにする
Ctrl+J (割り当てなし)
Ctrl+K ハイパーリンク
Ctrl+L テーブルの作成
Ctrl+M (割り当てなし)
Ctrl+N 新規ブックを作成
Ctrl+O ファイルを開く
Ctrl+P 印刷
Ctrl+Q クイック分析
Ctrl+R 右方向へコピー
Ctrl+S 上書き保存
Ctrl+T テーブルの作成
Ctrl+U 文字に下線(アンダーライン)を引く
Ctrl+V 貼り付け
Ctrl+W ブックを閉じる
Ctrl+X カット(切り取り)
Ctrl+Y 直前の作業を繰り返す
Ctrl+Z 直前の作業を元に戻す
Ctrl+Shift+F セルの書式ダイアログ(フォント)
Ctrl+Shift+P セルの書式ダイアログ(フォント)
Ctrl+Shift+U 数式バーの展開と格納

意外とたくさんあるものですね。割り当てられていないのは「J」と「M」の2つだけでした。

マクロに割り当てられるキーの種類

アルファベットは入れられるだろうなぁと直感的に思います。そこで数字や記号などを入れてみると次のように怒られます。

f:id:dz_dzone:20171117152330j:plain

入れられるのは結局アルファベットだけな訳です。つまり26個。

Shiftを組み合わせることが可能

入力できるのはアルファベットだけですが、図のようにShiftキーを組み合わせることが可能です。

f:id:dz_dzone:20171117152456j:plain

これで更に26個増えました。

標準設定は上書きできる

f:id:dz_dzone:20171117152845j:plain

52個のうち、標準で割り当てられているのが27個ありますが、実は標準設定のショートカットキーよりもマクロに設定したショートカットキーの方が優先されるのです。頻繁に使うショートカットキー以外だったら上書き設定しちゃってもいいと思います。ほら、使ったことないようなものもあるでしょう?

設定を削除すれば標準のショートカットキーに戻る

なお、設定画面から削除すれば標準のショートカットキーが復活しますので安心して下さい。

VBAのコードで設定することも可能

今までの内容は、VBAのコードで記述することも可能です。

コードの記述

Application.MacroOptions Macro:="マクロ名", _
                         Hasshortcutkey:=True, _
                         ShortcutKey:=A

引数の説明

  Macro          : VBAマクロのプロシージャ名
  Hasshortcutkey : ショートカットキーを持つかどうか
  ShortcutKey    : 指定するキー

指定するキーの記述と実際のショートカットキー

指定できるキーはアルファベットの「a~z」「A~Z」のみになります。小文字の場合は「Ctrl + 文字」、大文字の場合は「Shift + Ctrl + 文字」を意味します。

  アルファベット小文字 a ~ z : Ctrl + A ~ Z
  アルファベット大文字 A ~ Z : Shift + Ctrl + A ~ Z

もっと多くのショートカットキーを使いたい場合 (要VBA)

VBAのApplication.OnKeyメソッドを使えば、キーボード上のほとんどのキーを使ったショートカットキーを作ることが可能です。以下の記事を参照して下さい。
dz11.hatenadiary.jp

以上です。