VBAでは操作をきっかけとして自動的に実行されるプロシージャの事を「イベントプロシージャ」と言います。自動実行のきっかけとなる操作の事を「イベント」と呼び、「イベント」はブックやワークシート、ユーザーフォーム等のオブジェクトに対して発生します。この「イベント」を利用して特定の処理を実行するシートに対するイベントプロシージャの作成方法を紹介します。
イベントプロシージャの作成方法
(1)VBE(VBA記述画面)を開きます。
※画面の開き方はこちらの手順を参考にして下さい。
(2)シートオブジェクトをダブルクリックします。
(3)オブジェクトボックスの▼ボタンをクリックします。
(4)プルダウン一覧の中から「WorkSheet」を選択します。
※この時点で「Worksheet_SelectionChange」イベントプロシージャが表示されます。<(これは自動的に作成される仕組みとなっている様です。)
(5)プロシージャボックスの▼ボタンをクリックします。
(6)プルダウン一覧の中からイベントプロシージャを選択します。
※イベントプロシージャに含まれるイベント一覧は以下の通りです。
イベントの種類 | 発生するタイミング |
Activate | シートがアクティブになったとき |
Deactivate | シートがアクティブでなくなったとき |
SelectionChange | シートで選択範囲が変更されたとき |
BeforeDoubleClick | シートがダブルクリックされたとき |
BeforeRightClick | シートが右クリックされたとき |
Calculate | シートが再計算されたとき |
Change | シートが変更されたとき |
(7)今回は参考例として「Activate」を選択してみます。
(8)「Worksheet_Activate」イベントプロシージャが表示されます。
イベントプロシージャの作成方法についての説明は以上です。
おわりに
今回はシートのイベントプロシージャの作成方法について説明しました。オブジェクトボックスでオブジェクトを選択すると、そのオブジェクト既定の「Worksheet_SelectionChange」イントプロシージャが自動的に作成されます。不要な場合は削除して下さい。