Thread: keypress
View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
Ken Macksey Ken Macksey is offline
external usenet poster
 
Posts: 77
Default keypress


Hi

You could use something like this.


' in the general area

Const zero = 48
Const nine = 57
Const backspace = 8


'in the textbox keypress event

Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)

If (KeyAscii < backspace) And (KeyAscii < zero Or KeyAscii nine) Then
KeyAscii = 0


End Sub

HTH

Ken


"Garry Jones" wrote in message
...
I am a bit confused about keypress.

I can't quite get this to work, there seems to be a few ways to do this.

What I want to do is

Allow a user to press any number (0123456789) in a text box.

I want to allow them to press backspace as well in that text box.

I want to shut off all other keys. When they have entered a 3 digit
number the focus will move to textbox 2 where I will do the same thing
there.

So, if I am on the right lines...

Private Sub TextBox1_KeyPress(KeyAscii As Integer)
tstinput (keyascii)
End Sub

private sub tstinput
If KeyAscii < 8 'allow backspace
Then
If Not IsNumeric(Chr$(KeyAscii)) Then
KeyAscii = 0
else
end if
else
end if
end sub

But this does not work, I am missing something here.

And when it is working I can add the length bit and move focus to next
textbox, I am content that I can do that at least. But I can not get the
hang of this keypress.

Any help appreciated.

Garry Jones




---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.525 / Virus Database: 322 - Release Date: 09/10/2003