VBA Projects

Full Access with Source Code
  • Designed and Developed by PNRao

  • Full Access with VBA Source Code

  • Well Commented Codes Lines

  • Creative and Professional Design

Manage Your Projects

120+ Project Management Templates

Seamlessly manage your projects with our powerful & multi-purpose templates for project management.

120+ PM Templates Includes:
  • 50+ Excel Templates

  • 50+ PowerPoint Templates

  • 25+ Word Templates

Share Post

The Event statement in VBA  is used to trigger a specific code or procedure when a particular event occurs. Events are actions performed by users or programs, such as clicking a button or opening a file, that can be captured and used to automate tasks in VBA.

VBA Event Statement


The main purpose of the Event statement is to allow the creation of dynamic and interactive VBA programs. By responding to different events, the code can adapt and perform different actions accordingly. This adds a level of customization and flexibility to VBA programs, making them more efficient and user-friendly.

Syntax of VBA Event Statement

The basic syntax for the Event statement in VBA is:
Private Sub [Object Name]_[Event Name]([Parameters])[Code] End Sub
The ‘Private’ keyword is used to specify that the event is only accessible from within the current module. The [Object Name] refers to the object that will trigger the event, such as a command button or worksheet. The [Event Name] is the specific event that will trigger the code. Finally, the [Parameters] are optional and can be used to pass information to the event code.

Examples of VBA Event Statement


This event is triggered when a different cell or range is selected within a worksheet. It is useful for validating data or performing calculations based on the selected cells. The example below shows how to change the background color of the selected cell to yellow.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Target.Interior.Color = RGB(255, 255, 0)
End Sub


This event is triggered when a userform is initialized, which usually happens when it is first opened. It can be used to perform tasks such as filling a listbox with data or setting default values for controls on the userform. In the example below, the userform’s caption is changed and a message box is displayed when it is initialized.

Private Sub UserForm_Initialize()
    Me.Caption = "Employee Information"
    MsgBox "Welcome! Please enter your details."
End Sub


This event is triggered when a workbook is opened and is useful for running initialization code or displaying important information to the user. In the example below, the user is prompted to save the workbook before closing it.

Private Sub Workbook_Open()
    MsgBox "Please save any changes before closing this workbook.", vbInformation, "Reminder"
End Sub


This event is triggered when a command button is clicked and is commonly used for executing a specific action. In the example below, the value in cell A1 is multiplied by 2 when the command button is clicked.

Private Sub CommandButton1_Click()
    Range("A1").Value = Range("A1").Value * 2
End Sub


This event is triggered when an object is terminated or destroyed. It can be used to perform cleanup tasks or save data before the object is no longer needed. The example below shows how to save the user’s name when they close the userform.

Private Sub Class_Terminate()
    Dim username As String
    username = TextBox1.Text
    Worksheets("Data").Range("A1").Value = username
End Sub

Important Notes & Remarks

  • The Event statement must be placed within the scope of a Class or Module.
  • Events can only be used with objects that have a code module attached, such as worksheets, userforms, or classes.
  • Events are triggered automatically and do not need to be called explicitly in the code.
  • Multiple events can be used for a single object or control.
  • Events can be disabled or enabled using the Application.EnableEvents property.

In conclusion, the Event statement in VBA is a powerful tool for creating dynamic and interactive programs. By responding to different events, VBA code can adapt and perform different actions, making programs more efficient and user-friendly. With a wide range of events available, the possibilities for automation and customization are endless.
Have you used the Event statement in your VBA projects before? What are your favorite events to use and why? Share your thoughts and experiences in the comments below.

Effortlessly Manage Your Projects and Resources
120+ Professional Project Management Templates!

A Powerful & Multi-purpose Templates for project management. Now seamlessly manage your projects, tasks, meetings, presentations, teams, customers, stakeholders and time. This page describes all the amazing new features and options that come with our premium templates.

Project Management Templates

All-in-One Pack
120+ Project Management Templates

Essential Pack
50+ PM Templates

Excel Pack
50+ Excel PM Templates

PowerPoint Pack
50+ Excel PM Templates

MS Word Pack
25+ Word PM Templates

Ultimate Project
Management Template
Ultimate Resource
Management Template
Project Portfolio
Management Templates
Categories: VBA StatementsTags: , Last Updated: September 28, 2023

Leave A Comment