
taka



最新記事 by taka (全て見る)
- 『雑記』最近の私の話~ - 2019年9月26日
- 【動画】自作パソコン構成変更!ケースをNZXT H500に交換しました! - 2019年6月5日
- VBA 『Array関数』指定した要素で配列を作成する - 2019年5月23日
- 「動画」初完全ワイヤレスイヤホン『Jabra Elite Active 65t』 - 2019年5月17日
- VBA 日付で令和を簡単に判定してみよう - 2019年5月7日
マクロをショートカットで実行する方法
どうも、taka(@takabou63)です(^^♪
今回は【マクロをショートカットで実行する方法】ということで、例えば【F11】を押すとグラフシートを作成するショートカットですが、このショートカットにマクロを振り分けることができれば便利だと思いませんか?
今日はそんなショートカットにマクロを割り当てる方法をご紹介します(^^♪
ショートカットにマクロを割り振るコード
ショートカットにマクロを割り振るには【Applicationオブジェクト】の【OnKeyメソッド】を使用します。
Application.OnKeyの書式は以下の通りです。
Application.OnKey キーor文字列, マクロのプロジェクト名
引数 | 説明 |
---|---|
キー | ショートカットに設定するキーまたはキーの組み合わせなどを【文字列】で指定します。キーは【””や{}・()で囲む必要があります。】 |
マクロのプロジェクト名 | 実行するプロシージャ名の文字列を指定します。空欄にするとなにも起きない設定にできます。 |
キー指定一覧
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】というプロシージャーを実行するコードです。
Private Sub Workbook_Open() Application.OnKey "{F1}", "sample1" Application.OnKey "{F2}", "sample2" End Sub
標準モジュールには下記のように記述してあります。
Sub sample1() MsgBox "F1が押されました" End Sub Sub sample2() MsgBox "F2が押されました" End Sub
この状態で【F1】を押すと「F1が押されました」というメッセージボックスが表示されるはずです!


Application.OnKeyの注意点
Application.OnKeyは便利ですが、一つ注意点があります(´・ω・`)
Application.OnKey "^{UP}", ""
このコードは【Ctrlキーを押しながら↑キーを押した場合のコード】です。普通でしたらこのショートカットはデータがあるところまでカーソルを上に移動させるショートカットです。
ですが上記のコードで割り振るマクロ(プロシージャー)を空白にしているので、この【Ctrl+↑】というショートカットは起動しないショートカットとなってしまうのです(;^ω^)
このようにExcelでデフォルトで指定されているショートカットキーに【新たにOnKeyで指定すると設定の上書きがされデフォルトのショートカットは使用できなくなります。】
逆に起動させたくないショートカットがある場合は効果的ですが( ^ω^ )
※コードを削除してファイルを開きなおせば設定は元に戻ります。
フォロー・チャンネル登録お願いします
VBA以外についてのブログはこちら↓
https://yb-log.com/■Twitterフォロー
Follow @taka_pc1027■YouTubeチャンネル登録
コメントを残す