トップページ

#15_3 シートのイベント


シートに関するイベントの種類

前回はブックに関するイベントマクロの種類と基本的な構文(引数の使い方等)について学習しました。今回はシート(ワークシートとグラフシート)について、そのイベントマクロの具体例を見ていきたいと思います。

シートに関するイベントもかなりの数があるため、そのすべてのマクロ例を紹介することはできませんが、ブックの時同様にイベントを一覧にして紹介しようと思います。

もちろん今回も[プロシージャ]ボックスから閲覧できるため、暗記する必要はありませんし、引数も自動的に渡されます。イベントの意味は以下の通りになります。

今回も特によく使うものについてはイベント名を赤くしました。

例としては「セルの値が変更された時(Change)」と「シートをアクティブにした時(Activate)」の2つを紹介したいと思います。

Worksheetオブジェクトのイベント

イベント イベントの発生時期
Activate ワークシートがアクティブになった時に発生
BeforeDelete ワークシートを閉じる前に発生
BeforeDoubleClick ワークシートをダブルクリックした時に発生
BeforeRightClick ワークシートを右クリックした時に発生
Calculate 計算した時に発生
Change セルの値が変更された時に発生
Deactivate ワークシートが非アクティブになった時に発生
FollowHyperlink ワークシート上のハイパーリンクをクリックした時に発生
LensGalleryRenderComplete 引き出し線ギャラリーの表示が完了した時発生
PivotTableAfterValueChange ピボットテーブル内のセル範囲が編集された後に発生(再計算後でも発生)
PivotTableBeforeAllocateChanges ピボットテーブルが変更される前に発生
PivotTableBeforeCommitChanges ピボットテーブルのOLAPデータが変更される前に発生
PivotTableBeforeDiscardChanges ピボットテーブルの変更が破棄される前に発生
PivotTableChangeSync ピボットテーブルが変更された後に発生
PivotTableUpdate ピボットテーブルレポートのシートが更新された後に発生
SelectionChange ワークシートで選択範囲を変更した後に発生
TableUpdate シートテーブルが更新された後に発生

続いて、グラフシートに関するイベント一覧です。オブジェクトとしてはChartオブジェクトですが、このChartオブジェクトはグラフシートと共に埋め込みグラフを表すオブジェクトでもあります。

埋め込みグラフでイベントを使用するには、「クラスモジュール」というモジュールを使用する必要があります。覚えておいてください。

Chartオブジェクトのイベント

イベント イベントの発生時期
Activate グラフシートがアクティブになった時に発生
BeforeDoubleClick グラフシートをダブルクリックした時に発生
BeforeRightClick グラフシートを右クリックした時に発生
Calculate 計算した時に発生
Deactivate グラフシートが非アクティブになった時に発生
DragOver 埋め込みグラフにおいて、セル範囲をグラフにドラッグした時発生
DragPlot 埋め込みグラフにおいて、セル範囲をグラフにドラッグアンドドロップした時発生
MouseDown グラフシートでマウスボタンを押した時発生
MouseMove グラフシートでマウスポインタの位置を変更した時発生
MouseUp グラフシートでマウスボタンを離した時発生
Resize グラフサイズを変更した時発生
Select グラフの要素を選択した時発生
SeriesChange グラフの要素の値を変更した時発生

セルの値が変更された時発生するイベント

セルの値が変更されると発生するイベントはChangeイベントです。

ChangeイベントにはTagetという引数が渡されますが、ブックイベントのSheetSelectionChangeの時と同じく、セルの選択範囲が代入されるオブジェクト型変数です。

これを用いて次のようなマクロを作ってその動作を確認しましょう。

シートをアクティブにした時発生するイベント

セルの選択範囲を変更した時に発生するイベントはActivateです。このイベントには引数は何も渡されません。このTargetはセルの選択範囲が代入されるオブジェクト型変数です。

いかに実例を示しておきます。