Microsoft Excel をキーボードで操作する際の不満
本業では Microsoft Excel (以下、Excel と省略します) を使う時間が圧倒的に多く、Excel の操作の効率を上げる事は作業時間の短縮に直結します。マウスとの併用だとキーボードのホームポジションから大きく外れてしまうので、出来るだけキーボードのショートカットを多用する様に心掛けています。
とはいえ、Excel はキーボードショートカットの追加・編集が通常の方法では出来ません。元々の設定されているショートカットを覚えるしかないのですが、どうしても無効にしたい操作や代替したい操作が発生する事があります。
今回は、一般的によく知られているキーボードショートカットの紹介 (Ctrl + C, Ctrl + V 等) は省略し (そのようなページは大量にありますので他のサイトをご覧下さい)、Excel のショートカットを変更・追加する方法と、私が個人的に便利に使っているショートカットを紹介します。
キー操作の無効、キーボードショートカットの変更
Excel のキーボード入力やキーボードショートカットは、通常の方法では変更する事が出来ません。ただし、Excel VBA (Visual Basic for Applications) を使用すれば変更する事が出来ます。
起動時に自動で読み込まれる個人用マクロブックを作成し、その中に VBA を追記する事によって、これらの機能を変更する事が出来るようになります。
F1 キー (ヘルプ) を無効にする
Excel では F2 キーを頻繁に使用します。数式や数値をコピーしてから編集するような場合に、F2 キーを押して左右でカーソルを合わせて、修正してから Enter で確定させます。
そのような時に、間違えて F1 キーを押す事がよくあります。F1 キーは Excel のヘルプに割り当てられており、最近の Excel ではインターネット経由でヘルプを表示しますので、表示するまで時間を要したり、開いたヘルプ画面を閉じる操作が発生します。
キーボードのキートップを物理的に外す、というのも良い方法だと思いますが、Excel の起動時に実行されるマクロにより、F1 キーを無効にする事が出来ます。以下、窓の杜の記事です。
- マクロの保存先を「個人用マクロブック」にして空のマクロを記録する
- 作成された「個人用マクロブック」(PERSONAL.XLSB) に VisualBasic for Applications の編集画面で VBA を追記する
という手順です。
VisualBasic for Applications の編集画面を開き、PERSONAL.XLSB -> 標準モジュール -> module1 をダブルクリックで開き、起動時に実行される auto_open() 関数を新規に作成、F1 キーを無効化する処理を追加します。
Sub auto_open()
Application.OnKey "{F1}", ""
End Sub
F1 キーを押した際に F2 キーと同じ動作をさせる場合には、以下の処理を追加します。
Sub auto_open()
Application.OnKey "{F1}", "on_f2"
End Sub
Sub on_f2()
SendKeys ("{F2}")
End Sub
この方法は汎用性が高く、上手く利用すればキーボードショートカットを変更する事が出来ます。次の項では、これを利用してキーボードショートカットを変更します。
列選択のキーボードショートカットを変更する
私は US 配列のキーボードを本業でも自宅でも使用しています。US 配列のキーボードを日本語環境で使用する方法について、以下の記事にまとめました。
IME (日本語入力) のモード切替は Ctrl + SPACE に設定しています。そうする事によって、iOS や Linux、Windows10 / 11 と殆どの環境で IME の ON / OFF を同一の操作で切り替える事が出来ます。(Android だけが統一できないのは残念です…)
この Ctrl + SPACE を IME のモード切替に割り当てた際に、Excel のキーボードショートカットと干渉してしまいます。Excel では、Shift + SPACE が行選択、Ctrl + SPACE が列選択のキーボードショートカットに割り当てられています。IME の操作が優先されますので、Excel では Ctrl + SPACE による列選択が出来なくなります。
キーボード操作による列選択は、最近まで諦めてマウス操作で代用していましたが、前項のキーボードショートカットを変更する方法を利用する事により、別のショートカットに割り当てる事が出来るようになりました。
Excel起動時に、Excelのショートカットキー割当が以下の通り変更されるよう、VBAを仕込みます。
- Ctrl-Spaceを無効にする(IMEオンオフで使うので)
- Ctrl-Shift-Spaceを列選択に割り当てる
もともとCtrl-Shift-Spaceは「表全体の選択」のショートカットキーですが、Ctrl-aとほぼ同義で使わないので無視しました。
https://www.naenote.net/entry/ctrl-space-conflict-on-excel-ime
こちらのページでは、専用のマクロ専用ブックを使用する方法で記載されていますが、前項で作成した個人用マクロブックに記載する事で、Excel 起動時に有効にする事が出来ます。
Sub auto_open()
'F1キーを無効にする
Application.OnKey "{F1}", ""
'Ctrl-Shift-Spaceに列選択を割り当てる
Application.OnKey "+^ ", "SelectColumn"
'Ctrl-Spaceを無効にする
Application.OnKey "^ ", ""
End Sub
'列選択処理の本体
Sub SelectColumn()
Selection.EntireColumn.Select
End Sub
リンク元では日本語の関数名でしたが修正しています。
この関数を起動時に読み込む事によって、IME が OFF の状態であれば、Ctrl + Shift + SPACE で列選択が出来るようになります。IME が ON の状態では IME の機能が有効となり、Shift + SPACE は半角スペースの入力、Ctrl + Shift + SPACE は全角スペースの入力です。
CSV を Excel に読み込んで編集する際に、特定の列が不要で削除したい時など、これまではマウスで列全体を選択していましたが、今はキーボードショートカットで選択する事が出来るようになり、更に便利に使えるようになりました。
ショートカット変更による副作用
副作用という程ではありませんが、自作の VBA を使用している場合に、「マクロを表示」の画面に PERSONAL.XLSB の追加したマクロが常時表示されるようになります。
これまで、自作の VBA が一つだけの場合には、この画面を表示して直ぐに Enter を押す事でマクロを実行できましたが、一度 TAB キーを押してマクロ名の選択部分にカーソルを移動して、上下キーで合わせてEnter を押す必要があります。
少し手間は増えますが、F1 キーを無効にしたり Ctrl + Shift + SPACE で列選択を出来るようにするメリットと比較すれば、私にとっては許容範囲です。また、オプションからショートカットキーを追加すれば、このメニューを出さなくてもよくなるのでお勧めです。
Alt キーを使ったキーボードショートカット
Excel では、Alt キーを押すと上部のメニューにアルファベットが表示されます。
Alt キーに続いて表示されているアルファベットを押すと、そのメニューに移動して、更にアルファベットが表示されます。例えば Alt + H を押した場合には、ホームメニューが選択されます。
仮に Alt + H + H を押した場合には、セルの塗りつぶしの色が選択されますので、後はカーソルで色を選択して Enter を押すと反映されます。色選択の際に N を押せば塗りつぶしがなしになります。
この方法は、Excel のメニューに表示されている項目であれば全て選択する事ができるので、特定のメニュー操作を頻繁に使用するのであれば、覚えておいて損はありません。
私が頻繁に使用しているのは、以下の2つの操作です。
Alt + W + M + V | マクロの表示 |
Alt + D + F + S | フィルタの 全解除 |
マクロを登録している Excel ファイルで、マクロを表示させて選択して実行する場合に、一つ目の操作を使用しています。
二つ目の操作は、フィルタで複数の条件を設定した際に、一つ一つ解除するのではなく、全ての項目を一つの操作で解除できます。集計作業をしていて条件を全てクリアする際に、解除忘れが無くなりますのでミスの防止に繋がります。
繰り返し作業があるけどマクロを組む程ではないような状況で役立つと思います。
オートフィルタとテーブルのショートカット
表とオートフィルタの適用とテーブルへの変換
本業では数値データを扱う事が多いので、オートフィルタを多用します。例えば、下記のような成績一覧表があったとします (本業では成績を扱う事はありませんが)。
オートフィルタを適用するショートカットは Ctrl + Shift + L です。もう一度押すと解除されます。
最近ではテーブルを使用する事が多くなりました。テーブルを使用するメリットはこの後で説明します。表をテーブルに変更するショートカットは Ctrl + T です。
「テーブルの作成」メッセージボックスが表示されますので、「先頭行をテーブルの見出しとして使用する」のチェックを入れて OK を押すと、表がテーブルに変換されます。
オートフィルタが適用された状態でテーブルに変換されます。
フィルタメニューを表示するショートカット
オートフィルタとテーブルの先頭行の下三角 (▼) を押すとメニューが表示されます。その中でフィルタ条件を設定すれば、その行だけが表示されるようになります。
これまではマウスでこの下三角ボタンを押していましたが、テーブルの見出しにカーソルを合わせた状態で Alt + ↓ を押すとメニューが表示できます。下の図では「英語」の欄でメニューを表示させています。
この状態から、
- 上矢印、下矢印でカーソル移動 3回上矢印を押すと「(すべてを選択)」の部分にカーソルが移動
- 「(すべてを選択)」が選択されている状態から下矢印を押すと各項目に移動、SPACE でチェックの ON / OFF が出来る (IME ON では操作できない)
- S (昇順)、O (降順)、F (数値フィルタ) 等も直接選択可能
- メニュー表示直後に C を押すとフィルタ条件がクリアされる
というように、フィルタメニューをキーボードで操作する事が出来ます。
複数の条件を組み合わせる為に一つずつフィルタを設定する場合には、キーボードで操作した方が簡単に設定する事が出来ます。逆にマウス操作の場合にはもどかしく感じます。
テーブルを使用するメリット
テーブルを単に色付きの表と捉えている方が多いかもしれませんが、テーブルは色々と便利な機能を持っています。
- 末尾に集計行を追加できる。行を増やしても集計行は順次移動する。
- 同じ行で数式を組む際に、セルの位置 (B7等) ではなく見出しの文字を使用する。
- 複数行で同じ数式が設定される。一か所を変更すれば全ての数式が一括して変更される。
他にもメリットはありますが、表からテーブルに移行してすぐに感じられるメリットは上記の項目です。
マウスの右クリック代わりの Apps/Menu キー
最近のキーボードには、右下の Alt キー付近に Apps/Menu キーが配置されている事が多いと思います。このキーは、Excel ではマウスの右クリックと同等のメニューを表示します。Razer BlackWidow Lite では、右の Fn キーと Ctrl キーの間にあります。
例えば、以下のような事がキーボードから素早く操作できます。
Ctrl + C の後で Apps/Menu -> V | 値で貼り付け |
Apps/Menu -> S -> V, E -> Enter | 行と列を入れ替えて 値で貼り付け |
Shift + SPACE の後で Apps/Menu -> I | 1行挿入 |
Shift + SPACE の後で Apps/Menu -> D | 1行削除 |
もし Apps / Menu キーが存在しない場合でも、右に Windows キーがあれば PowerToys 等で置き換えて使用できるようにすれば良いかと思います。
ピボットテーブルの項目の展開、折り畳み
データをピボットテーブルで集計している際に、集計行にプラス/マイナス記号があり、展開や折り畳みをする事が出来ます。これまではマウスで操作していましたが、こちらも Apps / Menu キーでメニューを表示する事が出来ます。(以下のデータは e-Stat 政府統計の総合窓口 から入手しました)
例えば、
Apps/Menu -> T -> H | 選択した項目を 表示しない |
Apps/Menu -> T -> K | 選択した項目を 保持 |
Apps/Menu -> E -> Enter -> X | 展開 |
Apps/Menu -> E -> Enter -> O | 折りたたみ |
Apps/Menu -> E -> Enter -> E | フィールド全体の 展開 |
Apps/Menu -> E -> Enter -> E | フィールド全体の 折りたたみ |
というように、ピボットテーブルの +/- が表示されているセルで Apps/Menu キーでメニューを表示する事によって、それぞれの操作がキーボードのみで行えます。こちらもマウスでポチポチするのは面倒な操作です。
まとめ
Microsoft Excel を効率よく便利に使う方法について、色々な面からまとめてみました。
- ショートカットは基本的には変更できませんが、VBA を使用すれば可能です。F1 キーの呪縛から逃れられます。
- Alt + ↓ はメニューを表示するのに使える場面が多いです。
- Apps/Menu キーもマウスの右クリックメニューを表示するのに使えて便利です。
単調な繰り返し作業は工夫して VBA 等で自動化するのが効果的ですが、集計・検討・シミュレーションの繰り返しを行う場合には自動化できない部分も存在しています。Microsoft Excel の操作をキーボードで出来るだけ行う事は、一日の作業負担を軽減する事にも繋がりますので、少しずつでも身に着けておいた方が良いと思います。箸の使い方、自転車の乗り方と同様に、一度覚えたら忘れませんので後々まで役立ちます。
今回は Microsoft Excel の操作に着目しましたが、Windows10/11 自体のショートカットも併用するのが効果的です。Alt + Tab によるアプリケーションの切替は覚えておくと、複数の Excel での作業も捗りますのでお勧めです。
今回のアイキャッチ画像
白いネズミで生成してみました。写実的ではないので許容範囲でしょうか。
コメント