サイトについて      連絡先   検索

VBA イベント

はじめに

Excel VBA でイベントを利用する方法を紹介します。

Excel でイベントが発生する操作をすると、イベントに書いた VBA のコードが実行されます。

イベントには主に、シートのイベントとワークブックのイベントがあります。

イベントとは

イベントとは特定のタイミングでイベントに関連付けられた処理が自動で実行されることです。

例えば Worksheet の Change イベントはセルの内容が変化したとき (値を入力など) にイベントが発生します。

自動で実行されるので、セルの内容を編集したときに自動で集計やエラーチェックをするなど、様々なことに応用できます。

イベントの作成

VBE のプロジェクト ウィンドウからイベントを取得したいシートまたは ThisWorkbook をダブルクリックします。ここでは Sheet1 のイベントを作成します。

1

(General) をクリックして [Worksheet] をクリックします。

5

(Declarations) をクリックして取得したいイベントを選択します。

6

イベントが発生したときに作成されたコードが実行されます。

7

イベント一覧

ワークシート

各イベントのヘルプについては Microsoft 公式サイトの「Worksheet メンバー」をご覧ください。

名前 発生条件
Activateシートがアクティブになったとき
BeforeDeleteシートが削除される前
BeforeDoubleClickセルをダブルクリックしたときで、既定のダブルクリックの動作が行われる前
BeforeRightClickセルを右クリックしたときで、既定の右クリックの動作が行われる前
Calculateシートで再計算が行われた後 (参照セルが変更されたなど)
Changeセルに変更があったとき (文字を入力したなど)
Deactivateシートがフォーカスを失ったとき
FollowHyperlinkシートのハイパーリンクをクリックしたとき
LensGalleryRenderComplete引き出し線ギャラリーのアイコン (動的および静的) の表示が完了したとき
PivotTableAfterValueChangeピボットテーブル内のセルまたはセル範囲が編集または再計算された後
PivotTableBeforeAllocateChangesピボットテーブルに変更が適用される前
PivotTableBeforeCommitChangesピボットテーブルの OLAP データ ソースに対する変更が適用される前
PivotTableBeforeDiscardChangesピボットテーブルに対する変更が破棄される前
PivotTableChangeSyncピボットテーブルが変更された後
PivotTableUpdateピボットテーブルが更新されたとき
SelectionChangeセルの選択範囲が変更されたとき
TableUpdateデータ モデルに接続されているクエリ テーブルがワークシートで更新された後

ワークブック

各イベントのヘルプについては Microsoft 公式サイトの「Workbook メンバー」をご覧ください。

名前 発生条件
Activateワークブックがアクティブになると発生します。
AddinInstallワークブックがアドインとしてインストールされたときに発生します。
AddinUninstallワークブックがアドインとしてアンインストールされたときに発生します。
AfterSaveワークブックが保存された後に発生します。
AfterXmlExportMicrosoft Office Excel がワークブックのデータを XML データ ファイルに保存またはエクスポートした後に発生します。
AfterXmlImport既存の XML データ接続が更新された後、または新しい XML データがワークブックにインポートされた後に発生します。
BeforeCloseワークブックが閉じる前に発生します。ワークブックが変更されていると、ユーザーに変更を保存するよう求める前にこのイベントが発生します。
BeforePrintワークブックやワークブック内の要素が印刷される前に発生します。
BeforeSaveワークブックが保存されると発生します。
BeforeXmlExportMicrosoft Office Excel がワークブックのデータを XML データ ファイルに保存またはエクスポートする前に発生します。
BeforeXmlImport既存の XML データ接続が更新される前、または新しい XML データがワークブックにインポートされる前に発生します。
Deactivateワークブックが非アクティブになると発生します。
ModelChangeExcel データ モデルが変更された後に発生します。
NewChart新しいグラフをブックに作成したときに発生します。
NewSheetワークブックに新しいシートが作成されると発生します。
Openワークブックが開かれると発生します。
PivotTableCloseConnectionピボットテーブル レポートが、そのデータ ソースへの接続を終了した後に発生します。
PivotTableOpenConnectionピボットテーブル レポートが、そのデータ ソースへの接続を確立した後に発生します。
RowsetCompleteユーザーが OLAP ピボットテーブルで行セット アクションを起動するか、レコードセットを詳細表示するとイベントが発生します。
SheetActivateシートがアクティブになると発生します。
SheetBeforeDeleteシートが削除される前に発生します。
SheetBeforeDoubleClickワークシートがダブルクリックされたとき、既定のダブルクリック処理が行われる前に発生します。
SheetBeforeRightClickワークシートが右クリックされたとき、既定の右クリック処理が行われる前に発生します。
SheetCalculateワークシートが再計算された後、または変更されたデータがグラフにプロットされた後で発生します。
SheetChangeユーザー、または外部リンクによって、ワークシートのセルが変更されると発生します。
SheetDeactivateシートが非アクティブになると発生します。
SheetFollowHyperlinkワークブック内のハイパーリンクがクリックされると発生します。
SheetLensGalleryRenderCompleteワークシートの引き出し線ギャラリーのアイコン (動的および静的) の表示が完了した後に発生します。
SheetPivotTableAfterValueChangeピボットテーブル内のセルまたはセル範囲が編集または再計算された後に発生します。
SheetPivotTableBeforeAllocateChangesピボットテーブルに変更が適用される前に発生します。
SheetPivotTableBeforeCommitChangesピボットテーブルの OLAP データ ソースに対する変更が適用される前に発生します。
SheetPivotTableBeforeDiscardChangesピボットテーブルに対する変更が破棄される前に発生します。
SheetPivotTableChangeSyncピボットテーブルが変更された後に発生します。
SheetPivotTableUpdateピボットテーブル レポートのシートが更新された後で発生します。
SheetSelectionChangeワークシートで選択範囲が変更されると発生します。選択範囲がグラフ シート状にある場合は発生しません。
SheetTableUpdateシート テーブルが更新された後に発生します。
Syncドキュメント ワークスペースに含まれるワークシートのローカル コピーが、サーバー上のコピーと同期されるときに発生します。
WindowActivateワークブック ウィンドウがアクティブになると発生します。
WindowDeactivateワークブック ウィンドウが非アクティブになると発生します。
WindowResizeワークブック ウィンドウのサイズが変更されると発生します。

関連ページ