このブログはブログテーマ"Swell"を使っています。 Swell公式サイト

【Excel for Mac】自分で作成したExcelアドイン(ExcelAddin)にショートカットキーを割り当てる方法

こんにちは、ノオト(@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を再起動

STEP
Excel For Macの開発タブからVisual Basicを開く

ExcelForMacのリボンから、開発タブを選択し Visual Basic 開きます。

STEP
プロジェクトウィンドウから、ショートカットキーを設定したいExcelアドインのThisWorkbookを選択

プロジェクトウィンドウは下記ウィンドウです。

Visual Basicを起動すると右上端に表示されます。

もし見当たらなければなければ、画面上部の↓にぎやかなボタンをおすと表示されます。

VBAプロジェクト>Microsoft Excel オブジェクト>Thisworksheet

Thisworksheetにこの後記載するスクリプトを書いて、保存することでアドインファイル(.xla)に保存されます。次回起動する際にもこのスクリプトが有効になりショートカットキーが使えるようになります。

STEP
Excelアドインに対しショートカットキー「割り当て」と「割り当て解除」のスクリプトを記載

さきに貼り付け画面から紹介します。

さきほど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キー
文字キー ※好きなキーを入力
残念ながらキー無し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()

↑この下線部の名称をコピペし使用します。

スクリプトを書いたら、忘れずに保存しましょう。

STEP
Excel For Macを再起動

ショートカットキーを反映させるには、Excelアプリの再起動しが必要です。

再度起動することで反映されていることを確認でき、使い始めることができます。

まとめ

Excel for Mac は元々ショートカットキーが少なく、設定によって使い勝手が大きく変わります。

・自分でアドイン(マクロ)を作成する
・ショートカットキーを割り当てる

これらの設定はExcel for Mac を効率よく使う上で欠かせない設定となるでしょう。

ショートカットキーが複雑化したらStreamDeckを使うのがオススメ

ショートカットキー好きには刺さると思います。Stream Deckの記事を関連記事として貼っておきます。

複数のショートカットキーをアプリケーションごとに管理するのは大変です。

そのため、”プログラマブルキーボード(別名マクロキーボード)”を使うことをオススメします。

あわせて読みたい
【Mac効率化】elgato Stream Deck XLでリモートワークを効率化|ガジェットレビュー こんにちは、ノオト(@knowledge_notes)です。 今日は、仕事の効率を上げたい人のために、『elgato Stream Deck XL』を紹介します。最強最速にして、唯一無二の神ガジ...
ノオト

2021年に購入したものの中でNo1の効率化ガジェットです。

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!