Copyright © 2015-2016 Jorge Alberto Gomez Soto.
All rights reserved
Excel VBA Events Cheat Sheet
By Jorge A. Gomez from Power Spreadsheets
http://PowerSpreadsheets.com/excel-vba-events
Hello and welcome to the Excel VBA Events Cheat Sheet by PowerSpreadsheets.com,
My main purpose when creating and sharing the following Cheat Sheet is to help you to easily identify the following:
The Excel VBA events you can work with when creating macros. This Cheat Sheet lists events at the following levels: (i) Application, (ii) Workbook, (iii) Worksheet, (iv) Chart, and (v) non-
object (accessed through methods of the Application object).
The different levels at which you can monitor a particular event.
The parameters of each event.
The information in this Cheat Sheet may also help you determine the syntax for the declaration statement for each event-handler procedure. However, I suggest you follow the easy 4-step process I
explain here.
Throughout this Cheat Sheet, and for Application-level events only, "applicationObject" stands for the Public Application object you must declare within the appropriate Class Module. You can find a
step-by-step guide explaining the process of creating the Class Module and declaring the Public Application object here.
The VBA events are grouped in the categories listed below. Each category is in a separate table. Some tables are spread through more than 1 page.
Page Categories
New Object Creation Or Deletion
2
Opening, Closing, Printing And Saving
3 Object Activation, Selection, Resizing And Mouse Clicks
Object Activation, Selection, Resizing And Mouse Clicks
4 Changes And Calculations
Add-Ins
5 PivotTables
PivotTables
6 Protected View Windows
Excel Data Model
XML Data
7
Other Events
Deprecated Or Non-Functional Events
8
Non-Object Events
This Cheat Sheet is accompanied by an Excel VBA Tutorial (Excel VBA Events: Tutorial And List With 115 Application, Workbook, Worksheet And Chart Events) that expands on this topic. If you have any
doubts, questions or comments regarding this Cheat Sheet, please feel free to leave a comment at http://PowerSpreadsheets.com/excel-vba-events.
In order to ensure that you are informed whenever I publish new content or create more free resources, you may want to register for the Power Spreadsheets Newsletter at PowerSpreadsheets.com.
I hope you find this Cheat Sheet useful. I enjoyed preparing this for your and learned a lot during the process. Thanks for your time,
Jorge
Page 1 of 8
Copyright © 2015-2016 Jorge Alberto Gomez Soto. All rights reserved
Excel VBA Events Cheat Sheet
By Jorge A. Gomez from Power Spreadsheets
http://PowerSpreadsheets.com/excel-vba-events
New Object Creation Or Deletion
Event Application Workbook Worksheet Chart
BeforeDelete applicationObject_SheetBeforeDelete Workbook_SheetBeforeDelete Worksheet_BeforeDelete
ByVal Sh As Object ByVal Sh As Object
NewChart applicationObject_WorkbookNewChart Workbook_NewChart
ByVal Wb As Workbook
ByVal Ch As Chart ByVal Ch As Chart
NewSheet applicationObject_WorkbookNewSheet Workbook_NewSheet
ByVal Wb As Workbook
ByVal Sh As Object ByVal Sh As Object
NewWorkbook applicationObject_NewWorkbook
ByVal Wb As Workbook
Opening, Closing, Printing And Saving
Event Application Workbook Worksheet Chart
AfterSave applicationObject_WorkbookAfterSave Workbook_AfterSave
ByVal Wb As Workbook
ByVal Success As Boolean ByVal Success As Boolean
BeforeClose applicationObject_WorkbookBeforeClose Workbook_BeforeClose
ByVal Wb As Workbook
Cancel As Boolean Cancel As Boolean
BeforePrint applicationObject_WorkbookBeforePrint Workbook_BeforePrint
ByVal Wb As Workbook
Cancel As Boolean Cancel As Boolean
BeforeSave applicationObject_WorkbookBeforeSave Workbook_BeforeSave
ByVal Wb As Workbook
ByVal SaveAsUI As Boolean ByVal SaveAsUI As Boolean
Cancel As Boolean Cancel As Boolean
Open applicationObject_WorkbookOpen Workbook_Open
ByVal Wb As Workbook
Page 2 of 8
Copyright © 2015-2016 Jorge Alberto Gomez Soto. All rights reserved
Excel VBA Events Cheat Sheet
By Jorge A. Gomez from Power Spreadsheets
http://PowerSpreadsheets.com/excel-vba-events
Object Activation, Selection, Resizing And Mouse Clicks
Event Application Workbook Worksheet Chart
Activate (Sheet or Chart) applicationObject_SheetActivate Workbook_SheetActivate Worksheet_Activate Chart_Activate
ByVal Sh As Object ByVal Sh As Object
Activate (Workbook) applicationObject_WorkbookActivate Workbook_Activate
ByVal Wb As Workbook
BeforeDoubleClick applicationObject_SheetBeforeDoubleClick Workbook_SheetBeforeDoubleClick Worksheet_BeforeDoubleClick Chart_BeforeDoubleClick
ByVal Sh As Object ByVal Sh As Object ByVal ElementID As Long
ByVal Target As Range ByVal Target As Range ByVal Target As Range ByVal Arg1 As Long
Cancel As Boolean Cancel As Boolean Cancel As Boolean ByVal Arg2 As Long
Cancel As Boolean
BeforeRightClick applicationObject_SheetBeforeRightClick Workbook_SheetBeforeRightClick Worksheet_BeforeRightClick Chart_BeforeRightClick
ByVal Sh As Object ByVal Sh As Object
ByVal Target As Range ByVal Target As Range ByVal Target As Range
Cancel As Boolean Cancel As Boolean Cancel As Boolean Cancel As Boolean
Deactivate (Sheet or Chart) applicationObject_SheetDeactivate Workbook_SheetDeactivate Worksheet_Deactivate Chart_Deactivate
ByVal Sh As Object ByVal Sh As Object
Deactivate (Workbook) applicationObject_WorkbookDeactivate Workbook_Deactivate
ByVal Wb As Workbook
MouseDown Chart_MouseDown
ByVal Button As Long
ByVal Shift As Long
ByVal x As Long
ByVal y As Long
MouseMove Chart_MouseMove
ByVal Button As Long
ByVal Shift As Long
ByVal x As Long
ByVal y As Long
MouseUp Chart_MouseUp
ByVal Button As Long
ByVal Shift As Long
ByVal x As Long
ByVal y As Long
Resize Chart_Resize
Page 3 of 8
Copyright © 2015-2016 Jorge Alberto Gomez Soto. All rights reserved
Excel VBA Events Cheat Sheet
By Jorge A. Gomez from Power Spreadsheets
http://PowerSpreadsheets.com/excel-vba-events
Object Activation, Selection, Resizing And Mouse Clicks
Event Application Workbook Worksheet Chart
Select Chart_Select
ByVal ElementID As Long
ByVal Arg1 As Long
ByVal Arg2 As Long
SelectionChange applicationObject_SheetSelectionChange Workbook_SheetSelectionChange Worksheet_SelectionChange
ByVal Sh As Object ByVal Sh As Object
ByVal Target As Range ByVal Target As Range ByVal Target As Range
WindowActivate applicationObject_WindowActivate Workbook_WindowActivate
ByVal Wb As Workbook
ByVal Wn As Window ByVal Wn As Window
WindowDeactivate applicationObject_WindowDeactivate Workbook_WindowDeactivate
ByVal Wb As Workbook
ByVal Wn As Window ByVal Wn As Window
WindowResize applicationObject_WindowResize Workbook_WindowResize
ByVal Wb As Workbook
ByVal Wn As Window ByVal Wn As Window
Changes And Calculations
Event Application Workbook Worksheet Chart
AfterCalculate applicationObject_AfterCalculate
Calculate applicationObject_SheetCalculate Workbook_SheetCalculate Worksheet_Calculate Chart_Calculate
ByVal Sh As Object ByVal Sh As Object
Change applicationObject_SheetChange Workbook_SheetChange Worksheet_Change
ByVal Sh As Object ByVal Sh As Object
ByVal Target As Range ByVal Target As Range ByVal Target As Range
Add-Ins
Event Application Workbook Worksheet Chart
AddinInstall applicationObject_WorkbookAddinInstall Workbook_AddinInstall
ByVal Wb As Workbook
AddinUninstall applicationObject_WorkbookAddinUninstall Workbook_AddinUninstall
ByVal Wb As Workbook
Page 4 of 8
Copyright © 2015-2016 Jorge Alberto Gomez Soto. All rights reserved
Excel VBA Events Cheat Sheet
By Jorge A. Gomez from Power Spreadsheets
http://PowerSpreadsheets.com/excel-vba-events
PivotTables
Event Application Workbook Worksheet Chart
PivotTableAfterValueChange applicationObject_SheetPivotTableAfterValueChange Workbook_SheetPivotTableAfterValueChange Worksheet_PivotTableAfterValueChange
ByVal Sh As Object ByVal Sh As Object
ByVal TargetPivotTable As PivotTable ByVal TargetPivotTable As PivotTable ByVal TargetPivotTable As PivotTable
ByVal TargetRange As Range ByVal TargetRange As Range ByVal TargetRange As Range
PivotTableBeforeAllocateChanges applicationObject_SheetPivotTableBeforeAllocateChanges Workbook_SheetPivotTableBeforeAllocateChanges Worksheet_PivotTableBeforeAllocateChanges
ByVal Sh As Object ByVal Sh As Object
ByVal TargetPivotTable As PivotTable ByVal TargetPivotTable As PivotTable ByVal TargetPivotTable As PivotTable
ByVal ValueChangeStart As Long ByVal ValueChangeStart As Long ByVal ValueChangeStart As Long
ByVal ValueChangeEnd As Long ByVal ValueChangeEnd As Long ByVal ValueChangeEnd As Long
Cancel As Boolean Cancel As Boolean Cancel As Boolean
PivotTableBeforeCommitChanges applicationObject_SheetPivotTableBeforeCommitChanges Workbook_SheetPivotTableBeforeCommitChanges Worksheet_PivotTableBeforeCommitChanges
ByVal Sh As Object ByVal Sh As Object
ByVal TargetPivotTable As PivotTable ByVal TargetPivotTable As PivotTable ByVal TargetPivotTable As PivotTable
ByVal ValueChangeStart As Long ByVal ValueChangeStart As Long ByVal ValueChangeStart As Long
ByVal ValueChangeEnd As Long ByVal ValueChangeEnd As Long ByVal ValueChangeEnd As Long
Cancel As Boolean Cancel As Boolean Cancel As Boolean
PivotTableBeforeDiscardChanges applicationObject_SheetPivotTableBeforeDiscardChanges Workbook_SheetPivotTableBeforeDiscardChanges Worksheet_PivotTableBeforeDiscardChanges
ByVal Sh As Object ByVal Sh As Object
ByVal TargetPivotTable As PivotTable ByVal TargetPivotTable As PivotTable ByVal TargetPivotTable As PivotTable
ByVal ValueChangeStart As Long ByVal ValueChangeStart As Long ByVal ValueChangeStart As Long
ByVal ValueChangeEnd As Long ByVal ValueChangeEnd As Long ByVal ValueChangeEnd As Long
PivotTableChangeSync Workbook_SheetPivotTableChangeSync Worksheet_PivotTableChangeSync
ByVal Sh As Object
ByVal Target As PivotTable ByVal Target As PivotTable
PivotTableCloseConnection applicationObject_WorkbookPivotTableCloseConnection Workbook_PivotTableCloseConnection
ByVal Wb As Workbook
ByVal Target As PivotTable ByVal Target As PivotTable
PivotTableOpenConnection applicationObject_WorkbookPivotTableOpenConnection Workbook_PivotTableOpenConnection
ByVal Wb As Workbook
ByVal Target As PivotTable ByVal Target As PivotTable
PivotTableUpdate applicationObject_SheetPivotTableUpdate Workbook_SheetPivotTableUpdate Worksheet_PivotTableUpdate
ByVal Sh As Object ByVal Sh As Object
ByVal Target As PivotTable ByVal Target As PivotTable ByVal Target As PivotTable
RowsetComplete applicationObject_WorkbookRowsetComplete Workbook_RowsetComplete
Page 5 of 8
Copyright © 2015-2016 Jorge Alberto Gomez Soto. All rights reserved
Excel VBA Events Cheat Sheet
By Jorge A. Gomez from Power Spreadsheets
http://PowerSpreadsheets.com/excel-vba-events
PivotTables
Event Application Workbook Worksheet Chart
ByVal Wb As Workbook
ByVal Description As String ByVal Description As String
ByVal Sheet As String ByVal Sheet As String
ByVal Success As Boolean ByVal Success As Boolean
Protected View Windows
Event Application Workbook Worksheet Chart
ProtectedViewWindowActivate applicationObject_ProtectedViewWindowActivate
ByVal Pvw As ProtectedViewWindow
ProtectedViewWindowBeforeClose applicationObject_ProtectedViewWindowBeforeClose
ByVal Pvw As ProtectedViewWindow
ByVal Reason As XlProtectedViewCloseReason
Cancel As Boolean
ProtectedViewWindowBeforeEdit applicationObject_ProtectedViewWindowBeforeEdit
ByVal Pvw As ProtectedViewWindow
Cancel As Boolean
ProtectedViewWindowDeactivate applicationObject_ProtectedViewWindowDeactivate
ByVal Pvw As ProtectedViewWindow
ProtectedViewWindowOpen applicationObject_ProtectedViewWindowOpen
ByVal Pvw As ProtectedViewWindow
ProtectedViewWindowResize applicationObject_ProtectedViewWindowResize
ByVal Pvw As ProtectedViewWindow
Excel Data Model
Event Application Workbook Worksheet Chart
ModelChange applicationObject_WorkbookModelChange Workbook_ModelChange
ByVal Wb As Workbook
ByVal Changes As ModelChanges ByVal Changes As ModelChanges
TableUpdate applicationObject_SheetTableUpdate Workbook_SheetTableUpdate Worksheet_TableUpdate
ByVal Sh As Object ByVal Sh As Object
ByVal Target As TableObject ByVal Target As TableObject ByVal Target As TableObject
Page 6 of 8
Copyright © 2015-2016 Jorge Alberto Gomez Soto. All rights reserved
Excel VBA Events Cheat Sheet
By Jorge A. Gomez from Power Spreadsheets
http://PowerSpreadsheets.com/excel-vba-events
XML Data
Event Application Workbook Worksheet Chart
AfterXmlExport applicationObject_WorkbookAfterXmlExport Workbook_AfterXmlExport
ByVal Wb As Workbook
ByVal Map As XmlMap ByVal Map As XmlMap
ByVal Url As String ByVal Url As String
ByVal Result As XlXmlExportResult ByVal Result As XlXmlExportResult
AfterXmlImport applicationObject_WorkbookAfterXmlImport Workbook_AfterXmlImport
ByVal Wb As Workbook
ByVal Map As XmlMap ByVal Map As XmlMap
ByVal IsRefresh As Boolean ByVal IsRefresh As Boolean
ByVal Result As XlXmlImportResult ByVal Result As XlXmlImportResult
BeforeXmlExport applicationObject_WorkbookBeforeXmlExport Workbook_BeforeXmlExport
ByVal Wb As Workbook
ByVal Map As XmlMap ByVal Map As XmlMap
ByVal Url As String ByVal Url As String
Cancel As Boolean Cancel As Boolean
BeforeXmlImport applicationObject_WorkbookBeforeXmlImport Workbook_BeforeXmlImport
ByVal Wb As Workbook
ByVal Map As XmlMap ByVal Map As XmlMap
ByVal Url As String ByVal Url As String
ByVal IsRefresh As Boolean ByVal IsRefresh As Boolean
Cancel As Boolean Cancel As Boolean
Other Events
Event Application Workbook Worksheet Chart
FollowHyperlink applicationObject_SheetFollowHyperlink Workbook_SheetFollowHyperlink Worksheet_FollowHyperlink
ByVal Sh As Object ByVal Sh As Object
ByVal Target As Hyperlink ByVal Target As Hyperlink ByVal Target As Hyperlink
LensGalleryRenderComplete applicationObject_SheetLensGalleryRenderComplete Workbook_SheetLensGalleryRenderComplete Worksheet_LensGalleryRenderComplete
ByVal Sh As Object ByVal Sh As Object
Page 7 of 8
Copyright © 2015-2016 Jorge Alberto Gomez Soto. All rights reserved
Excel VBA Events Cheat Sheet
By Jorge A. Gomez from Power Spreadsheets
http://PowerSpreadsheets.com/excel-vba-events
Deprecated Or Non-Functional Events
Event Application Workbook Worksheet Chart
SeriesChange Chart_SeriesChange
ByVal SeriesIndex As Long
ByVal PointIndex As Long
Sync applicationObject_WorkbookSync Workbook_Sync
ByVal Wb As Workbook
ByVal SyncEventType As Office.MsoSyncEventType ByVal SyncEventType As Office.MsoSyncEventType
Non-Object Events (Accessed through methods of the Application object)
Method Syntax
Application.OnTime expression.OnTime(EarliestTime, Procedure, LatestTime, Schedule)
Application.OnKey expression.OnKey(Key, Procedure)
Page 8 of 8