第128回.マクロをショートカットで起動(OnKeyメソッド)
マクロVBAをショートカットで起動したい時には、Application.OnKeyメソッドを使います、
Application.OnKeyメソッドを使う事でショートカットで起動できるようになります。
OnKeyメソッド
Key | 必須 | 押すキーを示す文字列を指定します。 |
Procedure | オプション | 実行するプロシージャ名の文字列を指定します。 空の文字列 (") を指定すると、引数 Key で指定したキーを押しても何も起こりません。 つまり、Excel の通常のキーストロークを無効にできます。 この引数を省略すると、指定したキーストロークは Excel の通常のキーストロークの結果に戻ります。 |
Key には、単独のキーを Alt キー、Ctrl キー、Shift キーのいずれか、または複数と組み合わせて指定します。
Enter キーや Tab キーのように、画面に表示されないキーを指定するときは、以下のコードを使います。
キー | コード |
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} |
任意のキーを Alt キー、Ctrl キー、Shift キーのいずれか 1 つまたは複数と組み合わせて指定できます。
他のキーと組み合わせるときは、以下のコードを使用します。
キー | コード |
Shift | + (正符号) |
Ctrl | ^ (カレット) |
Alt | % (パーセント記号) |
特殊文字 (+、^、% など) に登録するときは、文字を中かっこ ({ }) で囲みます。
OnKeyメソッドの使用例
キー + キー
のように、キーの間に+を記述しています。
Shift + Ctrl + →に登録
Shift + Ctrl + →を通常の機能に戻す。
Shift + Ctrl + →を無効にします。
ShiftとCtrlの指定順序は問いません。
と
"^+{RIGHT}"
これらは、どちらで指定しても同じになります。
もちろん、ショートカットを使う時のキー押下順序も問いません。
同じテーマ「マクロVBA入門」の記事
第125回.Worksheetのイベントプロシージャー
第130回.テーブル操作の概要(ListObject)
第131回.テーブル操作のVBAコード(ListObject,DataBodyRange)
第142回.テーブル全件処理とデータ最終行(ListObject,DataBodyRange)
第127回.他のブックのマクロを実行(Runメソッド)
第128回.マクロをショートカットで起動(OnKeyメソッド)
第129回.レジストリの操作(SaveSetting,GetSetting,GetAllSettings,DeleteSetting)
第133回.引数の数を可変にできるパラメーター配列(ParamArray)
第134回.Errオブジェクトとユーザー定義エラー
第138回.外部ライブラリ(ActiveXオブジェクト)
第140回.Property {Get|Let|Set} ステートメント
新着記事NEW ・・・新着記事一覧を見る
VBA100本ノック 79本目:Wordにセル範囲を図として挿入|VBA練習問題(2月1日)
VBA100本ノック 78本目:グラフのデータ範囲拡張|VBA練習問題(1月30日)
VBA100本ノック 77本目:シート挿入イベント|VBA練習問題(1月29日)
VBA100本ノック 76本目:ボタンの表示名の位置へ移動|VBA練習問題(1月27日)
VBA100本ノック 75本目:ログインフォームの作成|VBA練習問題(1月26日)
VBA100本ノック 74本目:1シート複数表をDB形式に変換|VBA練習問題(1月25日)
VBA100本ノック 73本目:新規ブックにボタン作成しマクロ登録|VBA練習問題(1月23日)
VBA100本ノック 72本目:ITをDXに変換(文字列操作)|VBA練習問題(1月22日)
VBA100本ノック 71本目:パワーポイントへグラフを貼り付け|VBA練習問題(1月20日)
VBA100本ノック 70本目:ステータスバーに1秒ごとに時刻が表示|VBA練習問題(1月19日)
アクセスランキング ・・・ ランキング一覧を見る
1.最終行の取得(End,Rows.Count)|VBA入門
2.RangeとCellsの使い方|VBA入門
3.変数宣言のDimとデータ型|VBA入門
4.マクロって何?VBAって何?|VBA入門
5.Range以外の指定方法(Cells,Rows,Columns)|VBA入門
6.繰り返し処理(For Next)|VBA入門
7.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
8.セルに文字を入れるとは(Range,Value)|VBA入門
9.とにかく書いてみよう(Sub,End Sub)|VBA入門
10.マクロはどこに書くの(VBEの起動)|VBA入門
このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
記述には細心の注意をしたつもりですが、
間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。
掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。