ExcelVBAで作ったマクロをショートカットに登録する方法/OnKeyメソッドの使い方

technology IT

VBAを使い、オリジナルのショートカットを作成する方法です。
単キーに対しても設定できますが、設定するとそのキーの通常の使い方はできなくなるので、使い終わったら設定を解除する必用があります。

スポンサーリンク

オプションから設定

shtcut1
お手軽な方法としては、マクロ一覧でショートカットを割り当てたいマクロを選択→オプションをクリックし、
shtcut2
ショートカットを設定してOKを押します。数字は使用不可です。
shtcut4
ショートカットはCtrlと組み合わせる文字の他、Shiftを押しながら文字を入力することでCtrl+Shift+文字という形でも作成できます。
shtcut3
設定したショートカットを押せば、マクロが実行されます。
shtcut5
ショートカットを解除するには、同様の操作で入力した文字を削除すればOKです。

OnKeyメソッドで設定

ショートカットの設定
Application.OnKey “キー”, プロシージャ名
※Aであれば{a}、ShiftCtrlAltはそれぞれ+、^、%を{}の前に付ける
onkey1
通常、Shift+Alt+Qを押してもExcelでは何も起こりません。これに何か操作を割り当ててみましょう。
onkey2
VBEを開き、Application.OnKey(ソフトにキー操作を設定)の後に、”^%{q}”と記述します。
左から^がCtrl、%がAlt、{q}がQです。
^はBackSpaceのふたつ左、
%はShift押しながら5
{}はEnter左の上下のキーをShift押しながら打てば出せます。
アルファベットは小文字で書いてください。
onkey3
その後に””で区切ってプロシージャ名を描きます。プロシージャ=マクロのことです。
onkey4
指定した名前のマクロを作り、今回はメッセージボックスを出してみます。
onkey5
マクロを保存して実行し、Shift+Alt+Qを押すと、ショートカットが設定されていることがわかります。

ショートカットの解除(VBA)

onkey11
ショートカットを解除するには、プロシージャを指定せずにキー操作だけを記述します。
onkey12
macro2を実行すると、キー操作が通常に戻りました。
マクロで設定したショートカットは、(まだ使うか警告出ますが)Excelを閉じてまた開いても継続されます。不要な設定は適宜解除するようにしてください。

既存の操作を上書き

設定したショートカットは、既存のショートカットより優先されます。

onkey6
通常Shift+Aを押すと、大文字のAが入力されます。
onkey7
Application.OnKey “+{a}”, “shtct”と入力し、これもショートカットにしてみます。+はShiftを意味し、Pの下のキーをShift押しながら打つと出ます。またはテンキーにあります。
onkey8
マクロを実行し、Shift+Aを押すとマクロが実行されました。その代わり大文字のAは打てなくなります。
onkey9
単キーの場合は、“{a}”のように書きます。
onkey10
マクロを実行すると、Aを押すだけで簡単に指定したマクロを実行できるようになりました。
便利ですが、普通のaは書けません。
' vba
Sub macro1() ' キー設定
Application.OnKey "^%{q}", "shtct"
End Sub

Sub shtct() ' 実行内容
ActiveCell.Value = "実行"
End Sub

Sub macro2() ' キー解除
Application.OnKey "^%{q}"
End Sub
Excel(エクセル)で使える時短ショートカット集
Excelでよく使う(あるいは人によっては役にたつ)ショートカットを集めてみました。
やりたいことから方法を探すエクセル(Excel)操作・関数・VBA(マクロ)逆引きまとめ
逆引き(やりたいことから探す)Excel記事まとめ
関数・演算子・メソッド・プロパティ名から探すExcel/VBA(マクロ)使い方・組み合わせ方まとめ
こちらはExcelやメソッドの諸機能を、機能の名称から探せるまとめ記事です。

コメント