Help with KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)

E

ernie

Hi everyone,

the code below works sometimes, and other times it doesn't work. I dont know
why, can someone help me figure out why.

Private Sub txtItemFob_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Select Case KeyAscii
Case 8 To 10, 13, 27 'Control characters
Case 45, 46 'negative and period
If KeyAscii = 45 Then 'hypen/negative
If Len(Trim(txtItemFob.Text)) > 1 Then
Beep
KeyAscii = 0
End If
End If
Case 48 To 57 'numbers
Case Else 'Discard anything else
Beep
KeyAscii = 0
End Select
End Sub


thanks
ernie
 
V

Vergel Adriano

Ernie,

Give this a try.


Private Sub txtItemFob_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Select Case KeyAscii
Case 8 To 10, 13, 27 'Control characters
Case 45 'negative
If Len(Trim(txtItemFob.Text)) >= 1 Then
Beep
KeyAscii = 0
End If
Case 46 'period
If InStr(1, txtItemFob.Text, ".") > 0 Then
Beep
KeyAscii = 0
End If
Case 48 To 57 'numbers
Case Else 'Discard anything else
Beep
KeyAscii = 0
End Select
End Sub
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top