ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   UserForm Textbox.setfocus help (https://www.excelbanter.com/excel-programming/419138-userform-textbox-setfocus-help.html)

JMay

UserForm Textbox.setfocus help
 
The following code is not consistent; The focus is set ONLY the FIRST TIME I
activate the Worksheet - If I lease WS (Deactivate - UserForm1.hide) and
return to WS (Below) my textbox1 DOES NOT GET THE FOCUS.. What am I missing?

Private Sub Worksheet_Activate()
With UserForm1
.TextBox1.Value = ""
.TextBox2.Value = ""
.TextBox3.Value = ""
.Show vbModeless
.TextBox1.SetFocus ' This line not being consistent
End With
End Sub

JLGWhiz

UserForm Textbox.setfocus help
 
If you hide the form, it is still active. So when you unhide it the Activate
event is not triggered and your macro does not run. To remedy this, add a
line after your unhide command line to again set focus.

UserForm1.Show
UserForm1.TextBox1.SetFocus


"JMay" wrote:

The following code is not consistent; The focus is set ONLY the FIRST TIME I
activate the Worksheet - If I lease WS (Deactivate - UserForm1.hide) and
return to WS (Below) my textbox1 DOES NOT GET THE FOCUS.. What am I missing?

Private Sub Worksheet_Activate()
With UserForm1
.TextBox1.Value = ""
.TextBox2.Value = ""
.TextBox3.Value = ""
.Show vbModeless
.TextBox1.SetFocus ' This line not being consistent
End With
End Sub


JLGWhiz

UserForm Textbox.setfocus help
 
I misread your post, disregard my previous suggestion.

"JMay" wrote:

The following code is not consistent; The focus is set ONLY the FIRST TIME I
activate the Worksheet - If I lease WS (Deactivate - UserForm1.hide) and
return to WS (Below) my textbox1 DOES NOT GET THE FOCUS.. What am I missing?

Private Sub Worksheet_Activate()
With UserForm1
.TextBox1.Value = ""
.TextBox2.Value = ""
.TextBox3.Value = ""
.Show vbModeless
.TextBox1.SetFocus ' This line not being consistent
End With
End Sub


JLGWhiz

UserForm Textbox.setfocus help
 
After some experimenting, it looks like the problem is in the Show.Modeless
command. It seems that when it shows modeless that there is no focus set
until the form is clicked. However, when it is shown modal, the default
focus goes to the first control in the pecking order on the form.
Apparently, this is a design characteristic.

"JMay" wrote:

The following code is not consistent; The focus is set ONLY the FIRST TIME I
activate the Worksheet - If I lease WS (Deactivate - UserForm1.hide) and
return to WS (Below) my textbox1 DOES NOT GET THE FOCUS.. What am I missing?

Private Sub Worksheet_Activate()
With UserForm1
.TextBox1.Value = ""
.TextBox2.Value = ""
.TextBox3.Value = ""
.Show vbModeless
.TextBox1.SetFocus ' This line not being consistent
End With
End Sub


JMay

UserForm Textbox.setfocus help
 
Thanks JLG;
So I could leave the Userform Modeless
I added a Close UserForm Button (which Hides it only)
When I reactivate my Sheet (with the UF) the
Textbox1 gets focus (EVERY TIME).

Thanks for hanging in there and providing the help..

Jim


"JLGWhiz" wrote:

After some experimenting, it looks like the problem is in the Show.Modeless
command. It seems that when it shows modeless that there is no focus set
until the form is clicked. However, when it is shown modal, the default
focus goes to the first control in the pecking order on the form.
Apparently, this is a design characteristic.

"JMay" wrote:

The following code is not consistent; The focus is set ONLY the FIRST TIME I
activate the Worksheet - If I lease WS (Deactivate - UserForm1.hide) and
return to WS (Below) my textbox1 DOES NOT GET THE FOCUS.. What am I missing?

Private Sub Worksheet_Activate()
With UserForm1
.TextBox1.Value = ""
.TextBox2.Value = ""
.TextBox3.Value = ""
.Show vbModeless
.TextBox1.SetFocus ' This line not being consistent
End With
End Sub



All times are GMT +1. The time now is 09:40 AM.

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