Excel VBA

【Excel VBA】【マクロ】【Tips】マクロをアドインにしてショートカットキーで呼び出す

こんにちは!Lenocoです。本日も見てくださりありがとうございます。

今回はアドインのショートカットについてのTips回です!!!

マクロをアドインにしてショートカットキーで呼び出す

前回作った、「縦横入れ替え値貼り付け」マクロをアドインにして、ショートカットキーを設定してみましょう。

ショートカットキーを設定

まずは前回作成した「TransposePasteValues」のマクロを開いてください。
Alt+F11を押し、VBE(Visual Basic Editer)の画面を開いてください。
ThisWorkbookをダブルクリックしてください。

そして以下のコードを書いてください。

コード

Private Sub Workbook_Open()
    Application.OnKey "^e", "TransposePasteValues"  ' [Ctrl]+[e]
End Sub
 

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Application.OnKey "^e"   ' [Ctrl]+[e]
End Sub

説明

「Workbook_Openと」「Workbook_BeforeClose」はイベントプロシージャーというものです。
それぞれ、ブックが開かれたとき、ブックが閉じられたときに起動します。
今回は上記をそのままコピーしてもいいですが、それ以外の方法として、
画面上のプルダウンからイベントを選択することができます。
左のプルダウンで(General)から「Workbook」を選択し、
右のプルダウンで「Open」「BeforeClose」を選択すると、プロシージャの枠が自動的に書き出されます。
間違えて別のイベントを選択してしまった場合は、そのプロシージャごと削除すればOKです。
様々なイベントをこちらから選ぶことができるので、どんなイベントがあるか見てみてください。
私がよく使用するのは、「SheetBeforeDoubleClick」「SheetChange」あたりでしょうか・・

話を戻します!
「Workbook_Open」の中で、Onkeyという命令を使い、ショートカットキー「Ctrl+E」にマクロ「TransposePasteValues」を呼び出す処理を割り当てています。
Shift、Ctrl、Altキーはそれぞれ以下の記号で表しています。複数組み合わせることもできます。
Shift → +(正符号)
Ctrl → ^(カレット)
Alt → %(パーセント)

「Workbook_BeforeClose」の中でCtrl+Eを通常の意味に戻しています。
なので、Excelのブックを開いている間、マクロをショートカットで呼び出すことができるようになります。

アドインを保存

そして次にこのマクロをどのブックでも使えるように、アドインという形で保存しましょう。
VBEの画面は閉じて、「ファイル」タブから「名前を付けて保存」をクリックします。
ファイルの種類で「Excel アドイン(*.xlam)」を選択肢、
分かりやすい名前を付けて保存します。
※ファイルの種類を選んだ時点で、Microsoft>Addinsのフォルダに勝手に変更されると思います。
変更せずこのフォルダに保存してください。

アドインの登録

最後に、このアドインを登録しましょう。
「開発」タブを開き「Excelアドイン」をクリック、
「参照」ボタンを押し、先ほど保存したアドインファイルを選択して「OK」を押します。
該当のアドインにチェックが入っていることを確認して「OK」を押します。

書式を設定したセルをコピーし、
別のセルを選択し、Ctrl+Eを押してみてください。

うまく動きましたか?

Lenoco

COMMENT

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です