Chapter 13. UserForms

UserForms are essentially user-defined dialog boxes. You can use them to display information and to allow the user to input new data or modify the displayed data. The MsgBox and InputBox functions provide simple tools to display messages and get input data, respectively, but UserForms take you to a new dimension. With these, you can implement nearly all the features that you are accustomed to seeing in normal Windows dialog boxes.

You create a UserForm in the VBE window using Insert


UserForms can contain Labels, TextBoxes, ListBoxes, ComboBoxes, CommandButtons, and many other ActiveX controls. You have complete control over the placement of controls and can use as many controls as you need. Naturally, each control can respond to a wide variety of events.

Displaying a UserForm

To load a UserForm called UserForm1 into memory, without making it visible, you use the Load statement:

Load UserForm1

You can remove UserForm1 from memory using the Unload statement:

Unload UserForm1

To make UserForm1 visible, use the Show method of the UserForm object:


If you show a UserForm that has not been loaded, it will be automatically loaded. You can use the Hide method to remove a UserForm from the screen without removing it from memory:


Figure 13-1 shows a simple UserForm in action that will be developed over the course of this chapter. It has been designed ...

Get Excel® 2007 VBA Programmer's Reference now with the O’Reilly learning platform.

O’Reilly members experience live online training, plus books, videos, and digital content from nearly 200 publishers.