ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Move the cursor to end of data in textbox (https://www.excelbanter.com/excel-programming/381957-move-cursor-end-data-textbox.html)

Sir Tom

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 ??


Jim Cone

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 ??


Sir Tom

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