O'Reilly logo

Excel® 2010 Power Programming with VBA by John Walkenbach

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Chapter 15: Advanced UserForm Techniques

IN THIS CHAPTER

Using modeless UserForms

Displaying a progress indicator

Creating a wizard — an interactive series of dialog boxes

Creating a function that emulates VBA's MsgBox function

Allowing users to move UserForm controls

Displaying a UserForm with no title bar

Simulating a toolbar with a Userform

Allowing users to resize a UserForm

Handling multiple controls with a single event handler

Using a dialog box to select a color

Displaying a chart in a UserForm

Using an Enhanced Data Form

Creating a moving tile puzzle

A Modeless Dialog Box

Most dialog boxes that you encounter are modal dialog boxes, which you must dismiss from the screen before the user can do anything with the underlying application. Some dialog boxes, however, are modeless, which means the user can continue to work in the application while the dialog box is displayed.

To display a modeless UserForm, use a statement such as

UserForm1.Show vbModeless

The word vbModeless is a built-in constant that has a value of 0. Therefore, the following statement works identically:

UserForm1.Show 0

Figure 15-1 shows a modeless dialog box that displays information about the active cell. When the dialog box is displayed, the user is free to move the cell cursor, activate other sheets, and perform other Excel actions. The information displayed in the dialog box changes when the active cell changes.

FIGURE 15-1: This modeless dialog box remains visible while the ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required