Excel VBA

[ExcelVBA] ワークシートにイベントが起きたときの処理方法

2020年4月1日

 

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

 

 

困ってます
ExcelVBAを使用して、シートにイベントが起きたときの処理方法を教えてほしい。

 

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

 

エクセルのシートに関するイベントとは、シートに何らかの動作が起こったタイミングで処理を行うことを指します。

例えばシートがアクティブになった時や、どこかのセルをダブルクリックした時に何らかの処理を行いたい場合などです。

 

本記事を読み進めれば、イベントの際の処理方法が理解できます。

 

VBAを記述する場所

 

イベントが起きた際に何らかの処理を記述するには、「MicrosoftExcelobject」のモジュールシートに記述していきます。

ブックに関しては「ThisWorkbook」に記述しますが、今回はワークシートに関する記述方法になりますので、各シートに記述していきましょう。

イベントは多数ありますが、ワークシートがアクティブになった時に行う処理を例に解説していきます。

 

①Sheet1(Sheet1)をダブルクリックする。

 

 

②▼をクリックして、Worksheetを選択する。

 

③▼をクリックして、Activateを選択する。

 

メモ

イベントプロシージャ名に「Worksheet_Activate」と自動作成されます。

オブジェクト名_イベント

という表記のされ方がされます。

 

④プロシージャ内に処理コードを記述する。

Private Sub Worksheet_Activate()

 MsgBox "シートが選択されました。"
 
End Sub

 

⑤試しにSeet2を追加してSheet1に戻るとメッセージが表示されます。

 

メモ

Msgbox関数

何らかのメッセージを表示させたい場合は、Msgbox関数を使用します。

Msgboxの後にスペースを空け、「”(ダブルクォーテーション)」でメッセージ内容を囲めば表示できます。

 

 

ワークシートのイベント

 

ワークシートに関連するイベントは多数ありますが、代表的なイベントを挙げておきます。

 

タイミング イベント
ワークシートがアクティブになった時 Activate
ワークシートがダブルクリックされた時 BeforeDoubleClick
ワークシートが右クリックされた時 BeforeRightClick
ワークシートで再計算された時 Calculate
ワークシートのセルの値が変更された時 Change
ワークシートのセル範囲が変更された時 SelectionChange

 

今回はワークシートのイベントに関する処理方法を見てきました。

ブックに関してもイベント処理方法がありますので、以下を参考にして下さい。

>>ブックに関してはこちらから

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

-Excel VBA
-

Copyright© Ronpeee blog , 2023 All Rights Reserved.