XL2000: Clicking Cancel Button May Not Dismiss UserForm (213572)
The information in this article applies to:
This article was previously published under Q213572 SYMPTOMS
When you click a Cancel button in a custom UserForm,
the UserForm may not be dismissed as you expect.
CAUSE
This behavior occurs because setting the Cancel property of a
button to True does not actually cause the UserForm to be dismissed
when you click the button. This behavior is by design of Microsoft Excel.
RESOLUTIONMicrosoft provides programming examples for illustration only, without warranty either expressed or implied. This includes, but is not limited to, the implied warranties of merchantability or fitness for a particular purpose. This article assumes that you are familiar with the programming language that is being demonstrated and with the tools that are used to create and to debug procedures. Microsoft support engineers can help explain the functionality of a particular procedure, but they will not modify these examples to provide added functionality or construct procedures to meet your specific requirements.
In addition to setting the Cancel property of the button to
True, you must also include the following line of code in the
subroutine assigned to the Click event of the button:
Unload Me
For example, if your Cancel button is named "CancelButton", assign
the following to the Click event for the button:
Private Sub CancelButton_Click()
'You can include any additional code here. The next line of code
'is the important line.
Unload Me 'Unloads the UserForm.
End Sub
To view or edit subroutines attached to a specific button, double-click the
button while editing the UserForm in the Visual Basic Editor.
MORE INFORMATION
When you design custom UserForms in Microsoft Excel, you can set one
command button in the UserForm as a Cancel button. When the UserForm
is active, pressing ESC activates the Cancel button, just as if it
were clicked.
However, if you click the Cancel button (or press ESC), the
UserForm may not be dismissed. To make sure that the UserForm is dismissed,
you must also add the code "Unload Me" (without quotation marks) to the
Click event subroutine assigned to the button.
| Modification Type: | Major | Last Reviewed: | 6/23/2005 |
|---|
| Keywords: | kbdtacode kbprb kbProgramming KB213572 |
|---|
|