残業を減らす!Officeテクニック
またつまらぬモノを押してしまった…… Excelでよく間違える[F1]キーの無効化方法
2023年2月6日 06:55
Excelの作業中、[F2]キーでセルの編集モードに切り替えようとして、[F1]キーを押したことがありますよね? そして、無駄にヘルプが起動してイライラしたはずです。これはExcelユーザーのほぼ全員に同意していただけるのではないでしょうか。[F2]キー以外にも、[Esc]キーのつもりでヘルプ起動、[半角/全角]キーのつもりでヘルプ起動と、ミスタイプにもいろいろなバリエーションがあります。
Excelユーザーに忌み嫌われる[F1]キーですが、無効化できることをご存じですか? コピー&ペーストで完了するお手軽な方法です。今回は[F1]キー無効化の仕組みとコピー&ペースト用のコードを紹介します。5分後には[F1]キーの悩みから解放されるはずです。
[個人用マクロブック]を生成する
Excelでマクロを記録する場合、「マクロ有効ブック(.xlms)」としてファイルを保存し、ファイルに埋め込まれたマクロを実行して利用するのが一般的です。対して[個人用マクロブック]は、Excelの起動時にバックグラウンドで処理するマクロを記録するためのものです。
例えば、Excelを起動したらセルA1をアクティブにする、好みの表示倍率に設定するなど、個々のファイルに依存せずに自分のパソコンでExcelを起動した時に処理する内容を記述できるブックです。普通にExcelを利用していて目にすることはないでしょう。[個人用マクロブック]を利用したことがあれば
「C:¥Users¥(ユーザー名)¥AppData¥Roaming¥Microsoft¥Excel¥XLSTART」に保存されています。
ディレクトリを意識する必要はありませんが、以下の操作によって、Excel起動時の処理を記述できるようになります。今回は[F1]キーを無効化するコード(マクロ)を登録します。
なお、マクロは[表示]タブにある[マクロ]-[マクロの記録]から記録可能ですが、[Excelのオプション]から[開発]タブを表示しておくことをおすすめします。
[F1]キー無効化のコードをコピー&ペーストする
以上の操作で[個人用マクロブック]が生成されました。何も操作せずにマクロの記録を終了したので、処理は何も記録されていませんが、「PERSONAL.XLSB」のモジュールを表示することが目的です。
以下のコードをコピー&ペーストして、VBAの画面で保存、Excelを再起動すれば[F1]キーが無効になります。
Sub auto_open()
Application.OnKey "{F1}", ""
End Sub
「Sub auto_open()」は「Excel起動時に自動的に実行される処理」の決まり文句です。「Application.OnKey "{F1}"」は「[F1]キーが押された時」の意味。続く「""」は、空の処理、つまり「何もしない」という指示です。
上記の操作で[F1]キーは無効化されました。[F1]キーを押して、何も起きないことを確認してみてください。なお、[F1]キーを押した時に[F2]キーと同じ処理(セルの編集モードの切り替え)を指示することも可能です。以下のコードを参照してください。
Sub auto_open()
Application.OnKey "{F1}", "on_f2"
End Sub
Sub on_f2()
SendKeys ("{F2}")
End Sub
先ほどの「""」の間に任意の処理名(ここでは「on_f2」)を指定します。「End Sub」の下に新しい処理(on_f2)を記述します。「[F1]キーが押された時、処理(on_f2)を呼び出す」という仕掛けです。
追加した処理(on_f2)には「SendKeys ("{F2}")」とあります。これで[F2]キーの機能を呼び出せます。[F1]キーを押した時、[F2]キーが押されたことにするわけです。好みで使ってください。
「ヘルプ」が恋しいときは?
以上で[F1]キーからヘルプを呼び出せなくなったのですが、やはりヘルプを参照したいという時は、機能を検索するといいでしょう。
また、[F1]の無効化をやめたい時は、VBAの画面を表示して「PERSONAL.XLSB」のモジュールにコピー&ペーストしたコードを消して、上書き保存してください。