Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 52
Default SetFocus Not working

Hello. I have a userform with a textbox and a commandbutton that are not
working as expected with regard to setfocus.

After commandbutton3 is clicked, I want to set the focus to textbox3. This
works just fine. However, I have a keydown event in textbox3 that runs
commandbutton3_click sub if the enter key is pressed. When this event runs,
everything works except textbox3.setfocus. Any help is appreciated.

Private Sub CommandButton3_Click()
If TextBox3.Value < Empty Then
ListBox1.AddItem TextBox3.Value
TextBox3.Value = Empty
TextBox3.SetFocus
End If
End Sub

Private Sub TextBox3_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal
Shift As Integer)
If KeyCode = 13 Then
CommandButton3_Click
End If
End Sub


--
Thanks,
Mike
  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 921
Default SetFocus Not working

I tried your code & added a debug.Print KeyCode statement.
On my machine it retuned 40. I adjusted the If statment accordingly and it
worked perfectly. Maybe then Key_Down event is keyboard specific?


"Mike Archer" wrote:

Hello. I have a userform with a textbox and a commandbutton that are not
working as expected with regard to setfocus.

After commandbutton3 is clicked, I want to set the focus to textbox3. This
works just fine. However, I have a keydown event in textbox3 that runs
commandbutton3_click sub if the enter key is pressed. When this event runs,
everything works except textbox3.setfocus. Any help is appreciated.

Private Sub CommandButton3_Click()
If TextBox3.Value < Empty Then
ListBox1.AddItem TextBox3.Value
TextBox3.Value = Empty
TextBox3.SetFocus
End If
End Sub

Private Sub TextBox3_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal
Shift As Integer)
If KeyCode = 13 Then
CommandButton3_Click
End If
End Sub


--
Thanks,
Mike

  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 489
Default SetFocus Not working

Naturally when you hit the Enter key (KeyCode = 13) Excel exits the textbox.
Actually, your code is working properly, but the Exit_Event fires after your
TextBox3.SetFocus code runs. Check out the code in the Exit Event. This
worked for me. Try it! Hope this helps! If so, let me know, click "YES"
below.

Option Explicit

Dim mySetFocus As Boolean

Private Sub CommandButton3_Click()

If TextBox3.Value < Empty Then
ListBox1.AddItem TextBox3.Value
TextBox3.Value = Empty
TextBox3.SetFocus
mySetFocus = True
End If

End Sub

Private Sub TextBox3_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Cancel = mySetFocus
mySetFocus = False
End Sub

Private Sub TextBox3_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal
Shift As Integer)

If KeyCode = 13 Then
CommandButton3_Click
End If

End Sub
--
Cheers,
Ryan


"Mike Archer" wrote:

Hello. I have a userform with a textbox and a commandbutton that are not
working as expected with regard to setfocus.

After commandbutton3 is clicked, I want to set the focus to textbox3. This
works just fine. However, I have a keydown event in textbox3 that runs
commandbutton3_click sub if the enter key is pressed. When this event runs,
everything works except textbox3.setfocus. Any help is appreciated.

Private Sub CommandButton3_Click()
If TextBox3.Value < Empty Then
ListBox1.AddItem TextBox3.Value
TextBox3.Value = Empty
TextBox3.SetFocus
End If
End Sub

Private Sub TextBox3_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal
Shift As Integer)
If KeyCode = 13 Then
CommandButton3_Click
End If
End Sub


--
Thanks,
Mike

  #5   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 52
Default SetFocus Not working

Perfect. Thank you!
--
Thanks,
Mike


"Ryan H" wrote:

Naturally when you hit the Enter key (KeyCode = 13) Excel exits the textbox.
Actually, your code is working properly, but the Exit_Event fires after your
TextBox3.SetFocus code runs. Check out the code in the Exit Event. This
worked for me. Try it! Hope this helps! If so, let me know, click "YES"
below.

Option Explicit

Dim mySetFocus As Boolean

Private Sub CommandButton3_Click()

If TextBox3.Value < Empty Then
ListBox1.AddItem TextBox3.Value
TextBox3.Value = Empty
TextBox3.SetFocus
mySetFocus = True
End If

End Sub

Private Sub TextBox3_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Cancel = mySetFocus
mySetFocus = False
End Sub

Private Sub TextBox3_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal
Shift As Integer)

If KeyCode = 13 Then
CommandButton3_Click
End If

End Sub
--
Cheers,
Ryan


"Mike Archer" wrote:

Hello. I have a userform with a textbox and a commandbutton that are not
working as expected with regard to setfocus.

After commandbutton3 is clicked, I want to set the focus to textbox3. This
works just fine. However, I have a keydown event in textbox3 that runs
commandbutton3_click sub if the enter key is pressed. When this event runs,
everything works except textbox3.setfocus. Any help is appreciated.

Private Sub CommandButton3_Click()
If TextBox3.Value < Empty Then
ListBox1.AddItem TextBox3.Value
TextBox3.Value = Empty
TextBox3.SetFocus
End If
End Sub

Private Sub TextBox3_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal
Shift As Integer)
If KeyCode = 13 Then
CommandButton3_Click
End If
End Sub


--
Thanks,
Mike

Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
setfocus ranswrt Excel Programming 2 July 22nd 08 02:56 AM
SetFocus not working WLMPilot Excel Programming 4 February 15th 08 04:29 PM
SetFocus not working as I would expect [email protected] Excel Programming 0 May 3rd 07 02:37 AM
SetFocus not working Henry T Excel Programming 1 September 15th 05 05:33 PM
setfocus Dean Reardon Excel Programming 2 December 15th 04 12:18 PM


All times are GMT +1. The time now is 08:53 PM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"