Excel VBA Programming

[ExcelVBA] ブックにイベントが起きたときの処理方法

2020年3月31日

 

本記事はエクセル2019で動作確認を行っています。

 

困ってます
ExcelVBAでブックにイベントが起きたときの処理方法を教えて。

 

このような疑問にお答えします。

 

まず前提としてブックのイベントとは何でしょう?

イベントとは、ブックを開いたりアクティブになったりと、ブックに何らかのタイミングで動作が起こることを指します。

ブックにイベントが起きた際に、VBA操作を行えるようになると大変便利になりますので、しっかり理解していきたい内容になります。

 

ブックを開くというイベントを例に解説していきます。

 

ブックを開いた時に処理を実行する方法

 

ブックにイベントが生じた際に、指定した処理を行うには、まずVBE(VisualBasicEditor)を開きます。

イベント関連は「MicrosoftExcelObjects」のオブジェクトモジュールに記述することになります。

 

①ブックを開いたときに処理を行うには、「ThisWorkbook」に処理を記述していくことになります。

 

 

②図の▼をクリックした後に、「Workbook」を選択します。

 

 

③図の▼をクリックした後に、「Open」をクリックします。

 

④Workbookを開くと「初期画面」のシートを選択するVBAを記述します。

Private Sub Workbook_Open()

  Worksheets("初期画面").Select

End Sub

 

 

⑤これでブックを開くたびに常に「初期画面」のシートを開くようになりました。

 

ブックを開くとき以外にも③のように▼をクリックすると様々なイベントが選択できます。

次にブックに関連する代表的なイベントをご紹介します。

 

 

ブックに関連するイベント

 

ブックには以下のようなイベントが代表的です。

タイミング イベント
ブックを開いたとき Open
ブックがアクティブになったとき Activate
ブックを保存する前 BeforeSave
ブックを閉じる前 BeforeClose
ブックを印刷する前 BeforePrint

 

 

今回はブックのイベントについて解説してきました。

ワークシートについてのイベント処理の方法は以下をご参考ください。

>>ワークシートのイベントについてはこちら

最後まで目を通していただきありがとうございます。

-Excel VBA, Programming
-

Copyright© Ronpeee blog , 2021 All Rights Reserved.