ワークブックのイベントを追加するには

ワークブックを開いたときや閉じたときのイベントを取得し、特定の操作させることができます。

「ワークブックを開いたときに特定のシートを選択させる」、「ワークブックを閉じたときに保存させる」といったことができるようになります。

イベントは Workbook_イベント名 のように書きます。

これは、VBE(エディタ)の上部にある(Genaral)でWorkbookを、(Declarations)でOpenを選択することで同じ記述が自動で行われます。

イベントによって引数の書き方が違うので、自分で書かずに(Genaral)(Declarations)から選択してください。

ワークブックを開いたときのイベント
Private Sub Workbook_Open ()
・・・
End Sub


ワークブックを閉じたときのイベント
Private Sub Workbook_Close (Cancel As Boolean)
・・・
End Sub


ワークブックを開いたときに特定のシートを選択するサンプル

Sheets("Sheet2").Select でシート"Sheet2"を選択してから、
Cells(1,1).Select でセルA1を選択しています。
Private Sub Workbook_Open ()
    ' Sheet2を選択
    Sheets("Sheet2").Select
    ' A1を選択
    Cells(1,1).Select
End Sub


ワークブックを閉じたときに強制的に保存するサンプル

ActiveWorkBook.Saved で現在のワークブックの保存状態を確認しています。
Trueなら保存済、Falseなら未保存です。

ActiveWorkBook.Save でブックを保存します。
Private Sub Workbook_Close (Cancel As Boolean)
    If Not ActiveWorkBook.Saved Then
        ' ブックを保存
        ActiveWorkBook.Save
    End If
End Sub


ワークブックのイベントの種類

一般的なイベント

イベント名内容
Activeワークブックがアクティブになったときに発生
BeforeCloseワークブックが閉じる直前に発生
BeforePrintワークブックが印刷される直前に発生
BeforeSaveワークブックが保存される直前に発生
Deactiveワークブックが非アクティブになったときに発生
NewSheetワークブックに新しいシートが作成されたときに発生
Openワークブックが開いたときに発生


シートのイベント

イベント名内容
SheetActiveワークシートがアクティブになったときに発生
SheetBeforeDoubleClickワークシートがダブルクリックされたとき、既定の処理がされる前に発生
SheetBeforeRightClickワークシートが右クリックされたとき、既定の処理がされる前に発生
SheetCalculateワークシートが再計算されたときに発生
SheetChangeワークシートのセルが変更されたときに発生
SheetDeactiveワークシートが非アクティブになったときに発生
SheetFollowHyperLinkワークブック内のハイパーリンクがクリックされると発生
SheetPivotTableUpdateピボットテーブルが更新されたときに発生
SheetSelectionChangeワークシートで選択範囲が変更されると発生


特殊なイベント

イベント名内容
WindowActiveブックウィンドウがアクティブになったときに発生
WindowDeactiveブックウィンドウが非アクティブになったときに発生
WindowResizeブックウィンドウのサイズが変更されたときに発生
AddinInstallワークブックにアドインがインストールされたときに発生
AddinUninstallワークブックにアドインがアンインストールされたときに発生
AfterXmlExportワークブックからXMLファイルをエクスポートした後に発生
AfterXmlImportワークブックにXMLファイルをインポートした後に発生
BeforeXmlExportワークブックからXMLファイルをエクスポートする前に発生
BeforeXmlImportワークブックにXMLファイルをインポートする前に発生
PivotTableCloseConnectionピボットテーブルのデータソースへの接続が終了した後に発生
PivotTableOpenConnectionピボットテーブルのデータソースへの接続が終了した後に発生
RowsetCompleteレコードセット内を移動したり、
ピボットテーブルの行セットアクションを呼び出したときに発生




Excel VBA講座




関連リンク
セル、シート、ブックの参照や操作、
書式設定に関するサンプル集。

VBScriptの文字列、日付、ファイルの操作に関するサンプル集。



アクセスランキング


Excel VBA講座
文字操作
関連する内容
セルの参照
データ型操作


Copyright (C) Excel@Workshop All rights reserved.