Download as pdf or txt
Download as pdf or txt
You are on page 1of 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

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

You might also like