連携 Excelの起動・アクティブ・終了時にマクロを実行-イベント内に記述する方法

※より実装に近く表示させる為、コードの改行を避けています。スマホ等で閲覧される際は向きを変えてご覧ください。

※実装するバージョンによってはバージョンアップの仕様により動作しないコードもあります。実装には動作確認の上ご使用下さい。

WorkbookEvent

自動実行には2通りの方法がある。エクセル起動後全てに発生させるAuto_Openと各ブック単位で発生させるワークブックイベントここではワークブックイベントの記述方法を紹介します

  • Visual Basic Editor起動
  • ThisWorkbook オブジェクト
  • ダブルクリック
  • ※Sheetに対しても設置可能です。
  • 右上の
  • Object
  • Workbookにする
  • Workbookしかない
  •  
  • いきなり
  • Workbook_Openが記述されます。
  • 不要な場合は後で消せます。
  • 他のイベントを選択するには
  • 図のように選択します。
  • イベント名とその働きは下図を参考にして下さい。
Option Explicit


Private Sub Workbook_Open()
    MsgBox "Workbook_Open"
End Sub


Private Sub Workbook_Activate()
    MsgBox "Workbook_Activate"
End Sub


Private Sub Workbook_BeforeClose(Cancel As Boolean)
    MsgBox "Workbook_BeforeClose"
End Sub

Workbookイベント一覧<2000>

イベント 対象 働き(タイミング)
Workbook Activate ブック アクティブになったら発生
AddinInstall アドインとして組み込まれたら発生
AddinnUninstall アドインから解除されたら発生
BeforeClose 閉じられる前
BeforePrint 印刷される前
BeforeSave 保存される前
Deactive アクティブでなくなったら発生
NewSheet 新規シートを追加されたら発生
Open 開かれたら発生
SheetActive シート アクティブになったら発生
SheetBeforeDoubleClick ダブルクリックされたら発生
SheetBeforeRightClick 右クリックされたら発生
SheetCalculate 再計算されたら発生
SheetChange セルの値が変更されたら発生
SheetDeactive アクティブでなくなったら発生
SheetFollowHyperlink ハイパーリンクをクリックしたら発生
SheetSelectionChange セルの選択範囲が変更されたら発生
WindowActivate ウインドウ アクティブになったら発生
WindowDeactivate アクティブでなくなったら発生
WindowResize 大きさが変更されたら発生
Worksheetkイベント一覧
Option Explicit


Private Sub Worksheet_Activate()
'アクティブになったら発生
End Sub


Private Sub Worksheet_BeforeDoubleClick _
(ByVal Target As Range, Cancel As Boolean)      '引数が必要
'ダブルクリックされたら発生
End Sub


Private Sub Worksheet_BeforeRightClick _
(ByVal Target As Range, Cancel As Boolean)      '引数が必要
'右クリックされたら発生
End Sub


Private Sub Worksheet_Calculate()
'再計算されたら発生
End Sub


Private Sub Worksheet_Change _
(ByVal Target As Range)                         '引数が必要
'セルの値が変更されたら発生
End Sub


Private Sub Worksheet_Deactivate()
'アクティブでなくなったら発生
End Sub


Private Sub Worksheet_FollowHyperlink _
(ByVal Target As Hyperlink)                     '引数が必要
'ハイパーリンクをクリックしたら発生
End Sub


Private Sub Worksheet_SelectionChange _
(ByVal Target As Range)                         '引数が必要
'セルの選択範囲が変更されたら発生
End Sub

 

 

 

2000年01月01日|[VBサンプルコード]:[連携]