#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はセルの選択範囲が代入されるオブジェクト型変数です。
いかに実例を示しておきます。


