The following example uses the TabIndex property to display and set the tab order for individual controls. The user can press TAB to reach the next control in the tab order and to display the TabIndex of that control. The user can also click on a control to display its TabIndex. The User can change the TabIndex of a control by specifying a new index value in the TextBox and clicking CommandButton3. Changing the TabIndex for one control also updates the TabIndex for other controls in the Frame.

To use this example, copy this sample code to the Declarations portion of a form. Make sure that the form contains:

Private Sub MoveToFront() Dim i, Temp As Integer Temp = Frame1.ActiveControl.TabIndex For i = 0 To Temp - 1 Frame1.Controls.Item(i).TabIndex = i + 1 Next i Frame1.ActiveControl.TabIndex = 0 TextBox1.Text = Frame1.ActiveControl.TabIndex End Sub Private Sub CommandButton3_Click() Dim i, Temp As Integer If IsNumeric(TextBox1.Text) Then Temp = Val(TextBox1.Text) If Temp >= Frame1.Controls.Count Or Temp < 0 Then 'Entry out of range; move control to front 'of tab order MoveToFront ElseIf Temp > Frame1.ActiveControl.TabIndex Then 'Move entry down the list For i = Frame1.ActiveControl.TabIndex + _ 1 To Temp Frame1.Controls.Item(i).TabIndex = _ i - 1 Next i Frame1.ActiveControl.TabIndex = Temp TextBox1.Text = _ Frame1.ActiveControl.TabIndex Else 'Move Entry up the list For i = Frame1.ActiveControl.TabIndex - _ 1 To Temp Frame1.Controls.Item(i).TabIndex = _ i + 1 Next i Frame1.ActiveControl.TabIndex = Temp TextBox1.Text = _ Frame1.ActiveControl.TabIndex End If Else 'Text entry; move control to front of tab 'order MoveToFront End If End Sub Private Sub UserForm_Initialize() Label1.Caption = "TabIndex" Frame1.Controls(0).SetFocus TextBox1.Text = Frame1.ActiveControl.TabIndex Frame1.Cycle = fmCycleCurrentForm CommandButton3.Caption = "Set TabIndex" CommandButton3.TakeFocusOnClick = False End Sub Private Sub TextBox2_Enter() TextBox1.Text = Frame1.ActiveControl.TabIndex End Sub Private Sub CommandButton1_Enter() TextBox1.Text = Frame1.ActiveControl.TabIndex End Sub Private Sub CommandButton2_Enter() TextBox1.Text = Frame1.ActiveControl.TabIndex End Sub Private Sub ScrollBar1_Enter() TextBox1.Text = Frame1.ActiveControl.TabIndex End Sub