こんにちは、ノオト(@knowledge_notes)です。
自分で作ったExcelアドイン(マクロ)にショートカットキーを割り当てられれば、幸せかもしれないと思ってやったらMacでもできました。
その方法を解説します。
本記事のテーマ
ExcelForMacユーザに向けて「自分で作成したExcelアドインに対して、ショートカットキーを割り当てる方法」について書きます。
本記事の信頼性
この記事を書いている私はこんな人です。
・Excel for Macを使って日々データ分析
・外資IT勤務
・MacBook歴10年
読者へのメッセージ
Excel For Macを仕事で使っています。
毎日使うので最も効率のよい方法を考えていたら自動化にたどり着きました。
Excelマクロをアドイン(.xlaファイル)にしてショートカットキーを割り当てることができれば、WindowsExcelにも負けない効率的で自由な操作が可能になります。
それでは、いきましょう。
前提事項
この記事を読むにあたり、前提事項を記載します。
この記事を読むための前提事項2点
・Excel For Macを使用
・マクロの作成&アドイン(.xla)の作成は割愛
Windowsも同じ流れと思いますがキャプチャは無いのでWindowsのキーに合わせた方法で設定しましょう。
マクロ自体の作成方法は別で書こうと思うので、この記事では割愛します。
この記事で使ったExcel VBAメソッド
今回使うVBAについて解説します。
Onkeyメソッドの解説
Application.OnKey”ショートカットキー”,”マクロ名”
VBAのApplication.OnKeyメソッドを使って割り当てます。
「ショートカットキー」を「マクロ」に対して割り当てるという意味です。
このように使います。
Application.OnKey "+^w", "●マクロ名●"
詳しく知りたい方は、マイクロソフトによるOnkeyのリファレンスURLを貼っておきます。
https://docs.microsoft.com/ja-jp/office/vba/api/excel.application.onkey
Excel For Macで、自分で作成したマクロにショートカットキーを割り当てる方法
ここでは早速手順の紹介をします。
1 Excel For Macの開発タブからVisual Basicを開く
2プロジェクトウィンドウから、設定したいExcelアドインのThisWorkbookを選択
3 Excelアドインに対し「割り当て」と「割り当て解除」のスクリプトを記載
4 Excel For Macを再起動
ExcelForMacのリボンから、開発タブを選択し Visual Basic 開きます。
プロジェクトウィンドウは下記ウィンドウです。
Visual Basicを起動すると右上端に表示されます。
もし見当たらなければなければ、画面上部の↓にぎやかなボタンをおすと表示されます。
VBAプロジェクト>Microsoft Excel オブジェクト>Thisworksheet
Thisworksheetにこの後記載するスクリプトを書いて、保存することでアドインファイル(.xla)に保存されます。次回起動する際にもこのスクリプトが有効になりショートカットキーが使えるようになります。
さきに貼り付け画面から紹介します。
さきほどStep2で開いた、Thisworkbookに対し、スクリプトを貼り付けます。
貼り付けるスクリプトとその解説はこちら。
' ショートカットキーの割り当て
Private Sub Workbook_Open()
Application.OnKey "+^w", "●マクロ名●" ' [Ctrl]+[shift]+[w]
End Sub
' ショートカットキーの割り当て解除
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.OnKey "+^w"
End Sub
解説
「’ 割り当て」でショートカットキーを割り当てます。
「’ 割り当て解除」でExcelを閉じる際に、ショートカットキーを割り当てを解除します。
割り当て解除を行わないと、アドインが無効化状態の時もショートカットキーが有効な状態が続きます。必ず、解除のスクリプトを入れてください。
今回紹介する例では、[Ctrl]+[shift]+[w]と記載し、キーボードの [Control]+[shift]+[w]を押したときにこのアドイン(マクロ)が起動するようにしています。
+(正符号) | Shiftキー |
^(カレット) | Controlキー |
w | 文字キー ※好きなキーを入力 |
残念ながらキー無し | Commandキー |
% | optionキー ※WindowsのAltキー |
MacのCommandキーは、Onkey対応していません。
VBA の最近のバージョンの Command キーを現在検出Officeはありません。 Microsoft はこれを認識し、そのことを確認しています。
引用元:https://docs.microsoft.com/ja-jp/office/vba/api/excel.application.onkey
私はすべてのExcelアドインに対するショートカットを、「Control」+「Shift」+「何か」にしています。
よく使うもののうち、マウスと組み合わせで使いがちなもの(図形に対するアドイン(マクロ)とか)は、左手だけで操作できる位置に置くのがお気に入りです。
マクロ名とはMacro1などマクロを作成する際につけた名称です。
下記の画像のModule1を開くと、1行名に書いてある名前です。
例)Sub Macro1()
↑この下線部の名称をコピペし使用します。
スクリプトを書いたら、忘れずに保存しましょう。
ショートカットキーを反映させるには、Excelアプリの再起動しが必要です。
再度起動することで反映されていることを確認でき、使い始めることができます。
まとめ
Excel for Mac は元々ショートカットキーが少なく、設定によって使い勝手が大きく変わります。
・自分でアドイン(マクロ)を作成する
・ショートカットキーを割り当てる
これらの設定はExcel for Mac を効率よく使う上で欠かせない設定となるでしょう。
ショートカットキーが複雑化したらStreamDeckを使うのがオススメ
ショートカットキー好きには刺さると思います。Stream Deckの記事を関連記事として貼っておきます。
複数のショートカットキーをアプリケーションごとに管理するのは大変です。
そのため、”プログラマブルキーボード(別名マクロキーボード)”を使うことをオススメします。
2021年に購入したものの中でNo1の効率化ガジェットです。