Microsoft KB Archive/188566

= XL98: Setting the Default CommandButton on a UserForm =

Article ID: 188566

Article Last Modified on 6/17/2005

-

APPLIES TO


 * Microsoft Excel 98 for Macintosh

-



This article was previously published under Q188566





SUMMARY
On a UserForm, you can designate only one CommandButton object as the default command button. Because only one CommandButton can be the default CommandButton, if you set the Default property for any CommandButton to True, the Default properties for all other CommandButtons on the UserForm are automatically set to False.



Behavior When the Default Property Is True
If you set the Default property of a CommandButton to True, the following events occur, depending on which control has focus when you press ENTER during run time.  Control with focus            Event -- CommandButton (default=False) Click and KeyDown (KeyDown has higher                                precedence) events for this CommandButton occur. (The default CommandButton is NOT                               activated.)

CommandButton (default=True)  Click, KeyDown or KeyUp (KeyDown has                                highest precedence) events for this CommandButton occur.

Any control other than a      The default CommandButton is given the CommandButton                 focus and the Click or KeyUp (Click has                                higher precedence) events for this CommandButton occur. NOTE: The KeyDown event occurs when you press a key while the UserForm or control on the UserForm has the focus. The KeyUp event occurs after any event (KeyDown) for a control is started by pressing a key.

If you want a specific control on the UserForm to have the focus when you display the UserForm, set the TabIndex property for the control to zero (0) or use the SetFocus method.

Setting the TabIndex Property
If you set the TabIndex property of a control to a value of zero (0), the control is given the focus when you display the UserForm. The TabIndex property specifies the position of the object in the tab order (the order in which the focus moves from one object to another when you press TAB or SHIFT+TAB).

Using the SetFocus Method
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. If you do not want to change the tab order of the controls on the UserForm, use the SetFocus method to specify which object has focus when you display the UserForm. For example, if you want a ComboBox named ComboBox1 to have the focus when you display the UserForm, use the following sample code for the Initialize event of the UserForm: Private Sub UserForm_Initialize ComboBox1.SetFocus End Sub When you display the UserForm, the insertion point appears inside the ComboBox, regardless of the tab order on the UserForm.

