目次
1. Workbookイベントとは何か
Workbookイベントとは、
Excelブック全体に対して発生するイベントを扱うものです。
これらのイベントは、
VBE(Visual Basic Editor)の ThisWorkbook に記述します。
Workbookイベントの特徴は次のとおりです。
- ブック単位で処理を制御できる
- ユーザー全体の操作に影響する
- 初期設定や終了処理に向いている
「ファイルそのものの動き」を検知したい場合に使用します。
2. よく使われるWorkbookイベントの使用例
Workbookイベントの中でも、実務で特によく使われるものを紹介します。
Workbook_Open
ブックが開かれたときに発生するイベントです。
主な用途は以下のとおりです。
- 初期設定の実行
- シートや画面の状態調整
- 注意事項の表示
Private Sub Workbook_Open()
'ブック起動時の初期処理
End Sub
Workbook_BeforeClose
ブックを閉じる直前に発生するイベントです。
- 保存確認
- 終了前チェック
- 後処理の実行
などに利用されます。
Private Sub Workbook_BeforeClose(Cancel As Boolean)
'ブック終了前の処理
End Sub
3. Worksheetイベントとは何か
Worksheetイベントとは、
特定のシートに対する操作を検知するイベントです。
各イベントは、
対象となるシート(Sheet1など)のコード画面に記述します。
Worksheetイベントの特徴は次のとおりです。
- シート単位で制御できる
- 入力チェックと相性が良い
- ユーザー操作に即時反応できる
「このシートだけ特別な動きをさせたい」
という場面で活躍します。
4. よく使われるWorksheetイベントの使用例
代表的なWorksheetイベントを紹介します。
Worksheet_Change
セルの値が変更されたときに発生します。
主な用途は、
- 入力内容のチェック
- 自動計算・自動補正
- 入力制御
Private Sub Worksheet_Change(ByVal Target As Range)
'セル変更時の処理
End Sub
Worksheet_SelectionChange
選択セルが変わったときに発生します。
- 入力ガイド表示
- 強調表示
- 操作誘導
などに使われます。
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'セル選択変更時の処理
End Sub
5. 実務でのイベント活用イメージ
WorkbookイベントとWorksheetイベントを使い分けることで、
- ブック全体の動きを制御
- シートごとのルールを設定
- 操作ミスを未然に防止
といった仕組みを自然に実装できます。
たとえば、
- 起動時はWorkbook_Openで初期化
- 入力チェックはWorksheet_Change
- 終了処理はWorkbook_BeforeClose
というように、
役割ごとにイベントを配置する設計が重要です。
6. イベント概要を押さえることが実践への近道
ここまでで、
- イベントとは何か
- 自動実行の仕組み
- 標準プロシージャとの違い
- Workbook・Worksheetイベントの概要
という一連の流れが整理できたはずです。
イベントは「難しそう」に見えがちですが、
実際には Excelの操作に処理を結びつけるための自然な仕組みです。
この概要を理解した上で、
次は 具体的なイベント別の実装例 に進むことで、
実務レベルのVBAに一段近づくことができます。
コメント