【Excel VBA】独自のショートカットを作る

当ページのリンクには広告が含まれている可能性があります。
VBA独自のショートカット

こんにちは。ユーキです。

今日は、Excelでショートカットを作るやり方を紹介します。

目次

Excelでショートカットを作る方法

Excelでは、ショートカットを自分の好きなキーで設定することはできません。

では、どう設定するのか?

Excel VBAでアドインを作成し、Application.OnKeyメソッドを利用して疑似ショートカットを作成します。
では早速、作ってみましょう。

疑似ショートカットの作り方

処理の記述

まずは、ショートカットで実行したい処理を記述します。今回は、行選択を行う処理とします。
標準モジュールに以下の処理を記述します。

Public Sub SelectRow()
    '選択セルの行を選択
    Selection.EntireRow.Select
End Sub

キー割り当て

Application.OnKeyメソッドを使って、処理を割り当てたいキーと割り当てる処理を指定します。

今回は、[Alt] + [→] で行選択するようにします。

OnKeyの第1引数に「%{RIGHT}」、第2引数に先ほど作成したメソッド「SelectRow」を指定します。
アンインストール時に設定を削除するための処理も書いておきます。

Private Sub Workbook_AddinInstall()
    'Alt + →キー押下
    Application.OnKey "%{RIGHT}", "SelectRow"
End Sub
Private Sub Workbook_AddinUninstall()
    'Alt + →キー押下 解除
    Application.OnKey "%{RIGHT}", ""
End Sub

割り当てキーの表現

通常の文字などはそのまま表現できますが、EnterキーやF1などのファンクションキーは「{}」で囲んで表現をします。ShiftキーやCtrlキー、Altキーを押してからという記載も可能です。

主だったものを記載しておきます。

キー表記
Enterキー{ENTER}
Shiftキー+
Ctrlキー^
Altキー%
{UP}
{DOWN}
{RIGHT}
{LEFT}
F1{F1}
キーの表記一覧

参考:Mircosoft リファレンス

挙動確認

では、早速作成したアドインをインストールして、動きを確認してみましょう。

任意のセルを選択状態で、[Alt]+[→]を押下します。

実行前状態
実行前

行が選択されました。

実行後状態
実行後

最後に

疑似ショートカットを作成するのは以上となります。

  • やりたい処理を書く
  • 書いた処理にキーを割り当てる

この2点だけです。やりたい処理は自分で書かねばなりませんが、それができればどんな処理でもキー割り当てできます。
知っておくと便利な機能です。

スポンサーリンク
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

旅好き職業プログラマ。文系大学卒業後、ITソフトウエア開発会社に勤務してプログラミング言語を学ぶ。現在は転職し、プロジェクトマネージャ的ポジションで生産管理システムの開発にあたる。
得意言語は、VB、VB.NET、C#.NET、Java、SQLなど。

目次