ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Tab Order Problem (https://www.excelbanter.com/excel-programming/314570-tab-order-problem.html)

Minitman[_4_]

Tab Order Problem
 
Greetings,

I have a UserForm with 14 TextBoxes (TB1 - TB14) and 1 CheckBox
(CBX1). The tab order is: TB1, TB2, TB3, TB4, TB5, TB6, CBX1, TB7,
TB8, TB9, TB10, TB11, TB12, TB13, TB14. I can use the Enter key to
get to CBX1 and then I can't get any further (the tab key does work
but I would rather not). Is there something different about the
CheckBox that wont allow the Enter key to advance the focus to the
next TextBox?

Any ideas on how to get this to work?

TIA

-Minitman

Tom Ogilvy

Tab Order Problem
 
I guess that is because the typical interaction with a checkbox is not using
the enter key. You can manage it in code:

Private Sub CheckBox1_KeyDown(ByVal KeyCode As _
MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 13 Then
tIdex = CheckBox1.TabIndex + 1
If tIdex = Me.Controls.Count Then
tIdex = 0
End If
For Each ctrl In Me.Controls
If ctrl.TabIndex = tIdex Then
ctrl.SetFocus
Exit For
End If
Next
End If
End Sub

Private Sub CheckBox2_KeyDown(ByVal KeyCode As _
MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 13 Then
tIdex = CheckBox2.TabIndex + 1
If tIdex = Me.Controls.Count Then
tIdex = 0
End If
For Each ctrl In Me.Controls
If ctrl.TabIndex = tIdex Then
ctrl.SetFocus
Exit For
End If
Next
End If
End Sub

Private Sub CheckBox3_KeyDown(ByVal KeyCode As _
MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 13 Then
tIdex = CheckBox3.TabIndex + 1
If tIdex = Me.Controls.Count Then
tIdex = 0
End If
For Each ctrl In Me.Controls
If ctrl.TabIndex = tIdex Then
ctrl.SetFocus
Exit For
End If
Next
End If
End Sub

--
Regards,
Tom Ogilvy



"Minitman" wrote in message
...
Greetings,

I have a UserForm with 14 TextBoxes (TB1 - TB14) and 1 CheckBox
(CBX1). The tab order is: TB1, TB2, TB3, TB4, TB5, TB6, CBX1, TB7,
TB8, TB9, TB10, TB11, TB12, TB13, TB14. I can use the Enter key to
get to CBX1 and then I can't get any further (the tab key does work
but I would rather not). Is there something different about the
CheckBox that wont allow the Enter key to advance the focus to the
next TextBox?

Any ideas on how to get this to work?

TIA

-Minitman




Minitman[_4_]

Tab Order Problem
 
Hey Tom,

I just tried 1 of these subs and after DIMing the 2 variables (tIdex
and ctrl), it works great.

Thanks.

-Minitman

On Sun, 24 Oct 2004 19:42:46 -0400, "Tom Ogilvy"
wrote:

I guess that is because the typical interaction with a checkbox is not using
the enter key. You can manage it in code:

Private Sub CheckBox1_KeyDown(ByVal KeyCode As _
MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 13 Then
tIdex = CheckBox1.TabIndex + 1
If tIdex = Me.Controls.Count Then
tIdex = 0
End If
For Each ctrl In Me.Controls
If ctrl.TabIndex = tIdex Then
ctrl.SetFocus
Exit For
End If
Next
End If
End Sub

Private Sub CheckBox2_KeyDown(ByVal KeyCode As _
MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 13 Then
tIdex = CheckBox2.TabIndex + 1
If tIdex = Me.Controls.Count Then
tIdex = 0
End If
For Each ctrl In Me.Controls
If ctrl.TabIndex = tIdex Then
ctrl.SetFocus
Exit For
End If
Next
End If
End Sub

Private Sub CheckBox3_KeyDown(ByVal KeyCode As _
MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 13 Then
tIdex = CheckBox3.TabIndex + 1
If tIdex = Me.Controls.Count Then
tIdex = 0
End If
For Each ctrl In Me.Controls
If ctrl.TabIndex = tIdex Then
ctrl.SetFocus
Exit For
End If
Next
End If
End Sub



Tom Ogilvy

Tab Order Problem
 
Depends on whether you have option explicit or not. If not, works great
without dimming, but it is usually better to have it and dim them.

--
Regards,
Tom Ogilvy

"Minitman" wrote in message
...
Hey Tom,

I just tried 1 of these subs and after DIMing the 2 variables (tIdex
and ctrl), it works great.

Thanks.

-Minitman

On Sun, 24 Oct 2004 19:42:46 -0400, "Tom Ogilvy"
wrote:

I guess that is because the typical interaction with a checkbox is not

using
the enter key. You can manage it in code:

Private Sub CheckBox1_KeyDown(ByVal KeyCode As _
MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 13 Then
tIdex = CheckBox1.TabIndex + 1
If tIdex = Me.Controls.Count Then
tIdex = 0
End If
For Each ctrl In Me.Controls
If ctrl.TabIndex = tIdex Then
ctrl.SetFocus
Exit For
End If
Next
End If
End Sub

Private Sub CheckBox2_KeyDown(ByVal KeyCode As _
MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 13 Then
tIdex = CheckBox2.TabIndex + 1
If tIdex = Me.Controls.Count Then
tIdex = 0
End If
For Each ctrl In Me.Controls
If ctrl.TabIndex = tIdex Then
ctrl.SetFocus
Exit For
End If
Next
End If
End Sub

Private Sub CheckBox3_KeyDown(ByVal KeyCode As _
MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 13 Then
tIdex = CheckBox3.TabIndex + 1
If tIdex = Me.Controls.Count Then
tIdex = 0
End If
For Each ctrl In Me.Controls
If ctrl.TabIndex = tIdex Then
ctrl.SetFocus
Exit For
End If
Next
End If
End Sub





Minitman[_4_]

Tab Order Problem
 
I Do and I did. <G

-Minitman

On Mon, 25 Oct 2004 09:22:50 -0400, "Tom Ogilvy"
wrote:

Depends on whether you have option explicit or not. If not, works great
without dimming, but it is usually better to have it and dim them.




All times are GMT +1. The time now is 10:55 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com