Thread: Cursor Location
View Single Post
  #3   Report Post  
Posted to microsoft.public.excel.programming
Frederick Frederick is offline
external usenet poster
 
Posts: 6
Default Cursor Location

Jack use the KeyPress Event of your TextBox it is made for this situation


Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)

If KeyAscii = 35 Then ' Detect the # Key
MsgBox "Sorry cannot Enter a " & Chr(35) & " in this Field "
KeyAscii = 0 'Cancel the KeyStroke
End If

End Sub


Fred
"Jack" wrote in message
...
Hello all,

I have a text box on a form. In the text box, I do not
allow someone to use the "#" symbol, but using the method
I use, when I remove the symbol after someone tries to use
it, the cursor is restored to the beginning of the string
or not at all. I would like the cursor to be at the end of
the string so the user can just continue typing after
dismissing the error box. Here is the code I'm using:


Private Sub txtValue_Change()

If Right(txtValue, 1) = "#" Then
MsgBox "You may not use the ""#"" symbol for this
value!", vbOKOnly + vbExclamation, "Invalid Character..."
txtValue = Left(txtValue, Len(txtValue) - 1)
txtValue.SetFocus
End If

End Sub


Does anyone know how I can programmatically tell the
cursor to go to the end of the string in the textbox on
focus?

Thanks for any advice, Jack