【VBA】Workbook・Worksheetイベントの使用例まとめ|代表的なイベントと実務用途を解説

スポンサーリンク

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に一段近づくことができます。

コメント

タイトルとURLをコピーしました