VBA Open or Close UserForm

In this tutorial, you will learn how to initialize, open, and close a Userform using VBA.

For this example, we created a simple Userform called basicUserform shown below with a label, a textbox, and three command buttons.

Basic UserForm in VBA

Open a Userform using VBA

Use the Show Command to open the Userform called basicUserform:

basicUserform.Show

Close a Userform using VBA

You can close a form using the Unload Command:

Unload basicUserform

This will close the UserForm from within running code.

 

Instead, you can also use the Me keyword to close a form within the form’s code module:

Unload Me

Note: You can only use Unload Me in procedures contained in the Userform Code Module:

Notice in the example above we added “Unload.Me” to the “Click” event of the Cancel button. So when the user clicks the Cancel button, the form will unload.

You can access the UserForm Code Module by double-clicking on the module in the Code Explorer (on the left). Or by right-clicking in the UserForm visual editor.

Initialize a Userform in VBA

When a form is loaded, the “Initialize” event is triggered. You can use this event to change the UserForm appearance such as populating combo boxes or turning controls on/off in your initialization code.

This code will disable the Cancel button when the UserForm is launched:

Private Sub UserForm_Initialize()

cmdCancel.Enabled = False

End Sub

 

Using the Initialize Event in VBA

Note: This code must be placed in the UserForm code module (see picture above).