マクロをショートカットで実行する方法



The following two tabs change content below.

taka

あることがキッカケでVBAを独学で勉強しました、今ではブログを通してVBAでできることを解説しつつ、VBAや他の言語の勉強、ブログ運営の勉強をしています(^^♪

マクロをショートカットで実行する方法

どうも、takaです(^^♪

今回は【マクロをショートカットで実行する方法】ということで、例えば【F11】を押すとグラフシートを作成するショートカットですが、このショートカットにマクロを振り分けることができれば便利だと思いませんか?

今日はそんなショートカットにマクロを割り当てる方法をご紹介します(^^♪

ショートカットにマクロを割り振るコード

ショートカットにマクロを割り振るには【Applicationオブジェクト】の【OnKeyメソッド】を使用します。

Application.OnKeyの書式は以下の通りです。

引数説明
 キー ショートカットに設定するキーまたはキーの組み合わせなどを【文字列】で指定します。キーは【””や{}・()で囲む必要があります。】
マクロのプロジェクト名実行するプロシージャ名の文字列を指定します。空欄にするとなにも起きない設定にできます。

 

キー指定一覧

Application.OnKeyのキー指定は基本的にはSendKeysのキーの指定方法と同じです。ですがSendKeysでは指定できたキーもOnKeyではできないものがありますのでご注意ください。

キーコード
SHIFT キー+ ※他のキーと組み合わせで使います。下記に使用例あり
CTRL キー^ ※上記に同じ
ALT キー%  上記に同じ
BackSpace {BACKSPACE} または {BS}
Break{BREAK}
CapsLock{CAPSLOCK}
Clear{CLEAR}
Delete または Del{DELETE} または {DEL}
{DOWN}
End{END}
Enter (テンキー){ENTER}
Enter~ (ティルダ)
Esc{ESCAPE} または {ESC}
Help{HELP}
Home{HOME}
Ins{INSERT}
{LEFT}
NumLock{NUMLOCK}
PageDown{PGDN}
PageUp{PGUP}
Return{RETURN}
{RIGHT}
ScrollLock{SCROLLLOCK}
Tab{TAB}
{UP}
F1 ~ F15{F1} ~ {F15}

Application.OnKeyの使い方

Application.OnKeyの使い方ご紹介します(^^)/

私の場合はWorkbook_Openで割り振る方法をとります、下記のコードは【F1】キーを押すと【sample1】、【F2】キーを押すと【sample2】というプロシージャーを実行するコードです。

標準モジュールには下記のように記述してあります。

この状態で【F1】を押すと「F1が押されました」というメッセージボックスが表示されるはずです!

Application.OnKeyの注意点

Application.OnKeyは便利ですが、一つ注意点があります(´・ω・`)

このコードは【Ctrlキーを押しながら↑キーを押した場合のコード】です。普通でしたらこのショートカットはデータがあるところまでカーソルを上に移動させるショートカットです。
ですが上記のコードで割り振るマクロ(プロシージャー)を空白にしているので、この【Ctrl+↑】というショートカットは起動しないショートカットとなってしまうのです(;^ω^)

このようにExcelでデフォルトで指定されているショートカットキーに【新たにOnKeyで指定すると設定の上書きがされデフォルトのショートカットは使用できなくなります。
逆に起動させたくないショートカットがある場合は効果的ですが( ^ω^ )

※コードを削除してファイルを開きなおせば設定は元に戻ります。

ファイルやコードの利用、WEBサイトの利用について

サンプルコードなどは当サイトの免責事項をよくお読みになってからお使いください。

Sponsored Link

 

特別企画!IT企業の実情をIT企業の社長に聞いてみた!

独学者が多いVBAプログラマー「せっかくプログラム言語を覚えたし、IT企業に転職しようかな?でも、IT企業って良いイメージ聞かないし実際はどうなんだ?」という疑問にIT企業の社長に直に聞いてみました!!

コメントを残す

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