プログラミング言語や環境設定を中心としたパソコン関連の技術メモです。
主にシステム開発中に調べたことをメモしています。TIPS的な位置付けで、気が向いたときにちまちま更新していきます。
ExcelVBA、マクロにショートカットキーを割り当てる
やり方はいろいろあるみたいですが
「Application.OnKey」を使用するのが柔軟ですかね。

標準モジュール内にこんなマクロがあるとしてφ(--)

Sub Hoge()
    msgbox "hoge"
End Sub

例えばワークブックのオープンイベントに
こんなん書いてやればφ(--)

Private Sub Workbook_Open()
    Application.OnKey "+e", "Hoge"
End Sub

任意のキーに任意のマクロが割り当てられるそーな。
※サンプルでは「Shift」+「e」で「Hoge()」実行

ちなみに「Application.OnKey」の書式は

Application.OnKey [割り当てキー][実行マクロ]

です。
おまけで

Application.OnKey ;[割り当てキー]""

と書くと割り当てキーの動作無効化

  Application.OnKey [割り当てキー]

と書くと割り当てキーの初期化(既定の動作に戻る)だそーです。
割り当てキーの書き方は適当に調べたってください(--)ノ

  Ctrl → ^
  Shift → +
  Alt → %

と、その他のキーを組み合わせて書くのが一般的だと思います。

ついでにキーの割り当てタイミングもどうぞご自由にですね。
私はワークブックのオープン時に割り当てちゃいましたが、
例えばワークシートのアクティブ時に割り当てて
インアクティブ時に解除、等もアリだと思います。
※ただしその場合は対象シートがアクティブ状態で
 ワークブックをオープンしたケースに気を付けてください。
 オープン時はアクティブイベント走らないっぽいので。

完了\(--)/
スポンサーリンク
 
このエントリーをはてなブックマークに追加 

category:ExcelVBA  thema:パソコンな日々 - genre:コンピュータ  Posted by ササキマコト 

  関連記事