教えて!ExcelVBA!

ExcelVBAの基礎知識・書き方について説明していきます。

【ExcelVBA シート操作】シートのイベントプロシージャを作成するにはどうすればいいの?教えて!

       f:id:m_kbou:20200520111320p:plain

イベントプロシージャは、イベントが発生した時に自動的に実行されるプロシージャです。今回はシートに対するイベントプロシージャの作成方法について説明します。

 

イベントプロシージャの作成方法

(1)VBE(VBA記述画面)を開きます

※画面の開き方は、こちらの手順を参考にして下さい。

【ExcelVBA 基本操作】マクロ/VBAを書く(記述する)ためにはどうすればいいの?教えて! - 教えて!ExcelVBA!

f:id:m_kbou:20200520111338p:plain

(2)シートオブジェクトをダブルクリックします。

f:id:m_kbou:20200520111400p:plain

(3)オブジェクトボックスの▼ボタンをクリックします。

f:id:m_kbou:20200520111416p:plain

(4)プルダウン一覧の中から「WorkSheet」を選択します。

f:id:m_kbou:20200520111431p:plain

※この時点で「Worksheet_SelectionChange」イベントプロシージャが表示されます。(これは自動的に作成される仕組みとなっているようです)

f:id:m_kbou:20200520111501p:plain

(5)プロシージャボックスの▼ボタンをクリックします。

f:id:m_kbou:20200520111602p:plain

(6)プルダウン一覧の中からイベントプロシージャを選択します。

f:id:m_kbou:20200520111616p:plain

※イベントプロシージャに含まれるイベント一覧は以下の通りです。

f:id:m_kbou:20200520111632p:plain

(7)今回は参考例として「Activate」を選択してみます。

f:id:m_kbou:20200520111647p:plain

(8)「Worksheet_Activate」イベントプロシージャが表示されます。

f:id:m_kbou:20200520111738p:plain

イベントプロシージャの作成方法についての説明は以上です。

 

おわりに

今回はシートのイベントプロシージャの作成方法について説明しました。オブジェクトボックスでオブジェクトを選択すると、そのオブジェクト既定の「Worksheet_SelectionChange」イントプロシージャが自動的に作成されます。不要な場合は削除して下さい。