教えて!ExcelVBA!

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

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

f:id:m_kbou:20200502172925p:plain

VBAでは操作をきっかけとして自動的に実行されるプロシージャの事を「イベントプロシージャ」と言います。自動実行のきっかけとなる操作の事を「イベント」と呼び、「イベント」はブックやワークシート、ユーザーフォーム等のオブジェクトに対して発生します。この「イベント」を利用して特定の処理を実行するブックに対するイベントプロシージャの作成方法を紹介します。

 

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

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

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

f:id:m_kbou:20200504123326p:plain

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

f:id:m_kbou:20200513092019p:plain

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

f:id:m_kbou:20200502173203p:plain

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

f:id:m_kbou:20200502173226p:plain

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

f:id:m_kbou:20200502173246p:plain

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

f:id:m_kbou:20200502173307p:plain

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

f:id:m_kbou:20200502173327p:plain

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

f:id:m_kbou:20200506071342p:plain

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

f:id:m_kbou:20200502173359p:plain

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

f:id:m_kbou:20200502173412p:plain

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

 

おわりに 

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

 

紹介動画

youtu.be