Article ID: 215861 - View products that this article applies to.
This article was previously published under Q215861
This article has been archived. It is offered "as is" and will no longer be updated.
When you display a UserForm in Microsoft Excel, you can still interact with the workbook even though you have turned off interactivity by setting the ShowModal property to True.
This problem occurs when you have a Microsoft Visual Basic for Applications macro which contains code similar to the following behind the user form:
When you set Application.Interactive to False and then True, it overcomes the ShowModal property setting of True.
To work around this problem, do not use the Application.Interactive property to control interactivity with the user form. Instead, use only the ShowModal property. To use the ShowModal property, follow these steps:
Microsoft has confirmed that this is a problem in the Microsoft products that are listed at the beginning of this article.
Microsoft 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 earlier versions of Microsoft Excel, user forms were always modal, meaning interactivity with the workbook was never allowed when the user form was displayed. In Excel 2000, you can specify interactivity with the workbook through the ShowModal property and through code.
When creating a user form, ShowModal is set to True by default, which does not allow interactivity. When the ShowModal property and the interactivity code conflict, the ShowModal property usually takes precedence. You can override this precedence in a Visual Basic for Applications macro by first setting the interactivity equal to the ShowModal setting and then setting interactivity to the setting you want. The following macro code disables interactivity
and the following macro code enables interactivity:
When the ShowModal property is True, interactivity is disabled. When the ShowModal property is False, interactivity is enabled.
For additional information about user forms and interactivity, please see the following article in the Microsoft Knowledge Base:
(https://support.microsoft.com/kb/234258/EN-US/ )Displayed UserForm Does Not Allow Interactivity with Workbook