![]() |
Move the cursor to end of data in textbox
I'm using Excel 2000 and creating some user forms.
The form has a phone number textbox that I have added code to vailidate the phone and put it in a certian format (xxx)xxx-xxxx) I have set textbox on Enter event to write "(" before the user start typnig the phone number. If you click into the textbox the cursor moves to end okay. If you tab into the textbox in highligthts the ( and when the user starts typing it erases the ( . Private Sub tbGBPhone_Enter() Dim Somedata ' If Phone not correct length If Len(tbGBPhone.Value) 13 Or Len(tbGBPhone.Value) < 13 Then tbGBPhone.Value = "(" End If End Sub I have tried SelLength or SelStart properties, but that didn't work. How do I make the cursor advance to the end ?? |
Move the cursor to end of data in textbox
You have to change the EnterFieldBehavior to 1 to get things to cooperate. This seems to work... Private Sub TextBox1_Enter() If Len(TextBox1.Text) < 13 Then TextBox1.Text = "(" TextBox1.SelStart = 1 TextBox1.SelLength = 0 Else TextBox1.SelStart = 0 TextBox1.SelLength = Len(TextBox1.Text) End If End Sub -- Jim Cone San Francisco, USA http://www.realezsites.com/bus/primitivesoftware "Sir Tom" wrote in message I'm using Excel 2000 and creating some user forms. The form has a phone number textbox that I have added code to vailidate the phone and put it in a certian format (xxx)xxx-xxxx) I have set textbox on Enter event to write "(" before the user start typnig the phone number. If you click into the textbox the cursor moves to end okay. If you tab into the textbox in highligthts the ( and when the user starts typing it erases the ( . Private Sub tbGBPhone_Enter() Dim Somedata ' If Phone not correct length If Len(tbGBPhone.Value) 13 Or Len(tbGBPhone.Value) < 13 Then tbGBPhone.Value = "(" End If End Sub I have tried SelLength or SelStart properties, but that didn't work. How do I make the cursor advance to the end ?? |
Move the cursor to end of data in textbox
Thanks Jim, that fixed it.
It's the little things that get you. "Jim Cone" wrote: You have to change the EnterFieldBehavior to 1 to get things to cooperate. This seems to work... Private Sub TextBox1_Enter() If Len(TextBox1.Text) < 13 Then TextBox1.Text = "(" TextBox1.SelStart = 1 TextBox1.SelLength = 0 Else TextBox1.SelStart = 0 TextBox1.SelLength = Len(TextBox1.Text) End If End Sub -- Jim Cone San Francisco, USA http://www.realezsites.com/bus/primitivesoftware "Sir Tom" wrote in message I'm using Excel 2000 and creating some user forms. The form has a phone number textbox that I have added code to vailidate the phone and put it in a certian format (xxx)xxx-xxxx) I have set textbox on Enter event to write "(" before the user start typnig the phone number. If you click into the textbox the cursor moves to end okay. If you tab into the textbox in highligthts the ( and when the user starts typing it erases the ( . Private Sub tbGBPhone_Enter() Dim Somedata ' If Phone not correct length If Len(tbGBPhone.Value) 13 Or Len(tbGBPhone.Value) < 13 Then tbGBPhone.Value = "(" End If End Sub I have tried SelLength or SelStart properties, but that didn't work. How do I make the cursor advance to the end ?? |
All times are GMT +1. The time now is 10:25 AM. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com