Table of contents
Collapse the table of content
Expand the table of content

Activate, Deactivate Events

office 365 dev account|Last Updated: 6/12/2017
1 Contributor

The Activate event occurs when an object becomes the active window. The Deactivate event occurs when an object is no longer the active window. SyntaxPrivate Subobject_Activate()Private Subobject_Deactivate() The object placeholder represents anobject expression that evaluates to an object in the Applies To list. Remarks An object can become active by using the Show method in code. The Activate event can occur only when an object is visible. A UserForm loaded with Load isn't visible unless you use the Show method. The Activate and Deactivate events occur only when you move the focus within an application. Moving the focus to or from an object in another application doesn't trigger either event. The Deactivate event doesn't occur when unloading an object.


The following code uses two UserForms: UserForm1 and UserForm2. Copy these procedures into the UserForm1 module, then add UserForm2. UserForm1's caption is created in its Activate event procedure. When the user clicks the client area of UserForm1, UserForm2 is loaded, and shown, triggering UserForm1's Deactivate event, changing their captions.

' Activate event for UserForm1
Private Sub UserForm_Activate()
    UserForm1.Caption = "Click my client area"
End Sub

' Click event for UserForm1
Private Sub UserForm_Click()
    Load UserForm2
    UserForm2.StartUpPosition = 3
End Sub

' Deactivate event for UserForm1
Private Sub UserForm_Deactivate()
    UserForm1.Caption = "I just lost the focus!"
    UserForm2.Caption = "Focus just left UserForm1 and came to me"
End Sub
© 2018 Microsoft