Excelスキルアップコレクション
           〜 Something U Want 〜


Google  

WWW を検索
Excelスキルアップコレクション内 を検索
 @     Top  >     Excel VBA スキルアップコレクション Topics  >     (34) 自作のマクロにショートカットキーを割り当てる

 
(34) 自作のマクロにショートカットキーを割り当てる

 自作のマクロを簡単に実行できるようにショートカットキーを割り当てることができます。

 Application.OnKeyメソッドを紹介します。
Application.OnKeyメソッド
構文:Application.OnKey( [キー], [マクロ名] )

 マクロを特定のキー、またはキーの組み合わせを押したときに実行できるようなショートカットキーを作成します。


 Application.OnKeyメソッドを使ったプログラムの例を紹介します。
 Excelブックを用意して、標準モジュールに次のコードを記載します。

 1行目:  Option Explicit
 2行目:  
 3行目:  Public Sub Sample_OnKey_01()
 4行目:  
 5行目:      ' [Ctrl]+[m]に"UserMacro1"を割当てる。
 6行目:      Call Application.OnKey("^m", "UserMacro1")
 7行目:              
 8行目:  End Sub
 9行目:  
10行目:  Public Sub UserMacro1()
11行目:  
12行目:      MsgBox "おはよう!", vbOKOnly
13行目:  
14行目:  End Sub
 Sample_OnKey_01()を実行します。これで、ショートカットキー[Ctrl] + [m]を押下することで"UserMacro1"を呼出すことができるようになります。


 OnKeyメソッドのキーに指定した「^」は[Ctrl]ボタン、「m」は[m]ボタンを表わしています。キーの指定に使うボタンの表現方法を紹介します。

キーコード
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}


 既にショートカットキーとして割り当てられているボタンの組み合わせに対してOnKeyメソッドを使うと、あとから割り当てたショートカットキーのマクロで上書きされます。
 うっかり[Ctrl] + [c](※コピーのショートカットキー)を上書きしてしまって、既定のショートカットキーの動作に戻したい場合には、次のように第二引数を省略してOnKeyメソッドを実行します。
・・・
  
  Public Sub Sample_OnKey_02()
  
      ' [Ctrl]+[c]を既定の動作に戻す。
      Call Application.OnKey("^c")
              
  End Sub
・・・


 また、OnKeyメソッドの第二引数に空文字を使うと、ショートカットキーの割り当を無効にすることができます。次のプログラムは、Excel上で[F1]ボタンの押下を無効にして、『ヘルプ』画面を起動させなくする方法です。
・・・
  
  Public Sub Sample_OnKey_03()
  
      ' [F1]による『ヘルプ』画面の起動を無効にする。
      Call Application.OnKey("{F1}","")
              
  End Sub
・・・
 [Ctrl]+[m]や[Ctrl]+[t]が、自作マクロに割り当てるショートカットキーとしてよく用いられます。
ページの先頭へ