Just to add.
I have never seen a need to enable or disable events when you change the key
ascii value. I believe those two lines can be deleted.
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Select Case KeyAscii
Case 48 To 57 'Nos 0 - 9
Exit Sub
Case Else
KeyAscii = 0
MsgBox "Please enter numeric character only."
End Select
End Sub
worked fine for me without interfering with the users ability to edit the
information in the box. I saw no evidence that this event was fired by a
backspace key.
--
Regards,
Tom Ogilvy
"Chip Pearson" wrote in message
...
Conrado,
Try the following instead:
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Select Case KeyAscii
Case 48 To 57 'Nos 0 - 9
Exit Sub
Case Else
Application.EnableEvents = False
KeyAscii = 0
Application.EnableEvents = True
MsgBox "Please enter numeric character only."
End Select
End Sub
--
Cordially,
Chip Pearson
Microsoft MVP - Excel
www.cpearson.com
"Conrado Capistrano" wrote in message
...
Hello NG,
Please tell me why the sendkeys statement does not work here in my code.
Also, why is it that when I press backspace it does not trigger the
keypress event even though the help file said that it will trigger the
event.
TIA
Jon-jon
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Select Case KeyAscii
Case 48 To 57 'Nos 0 - 9
Exit Sub
Case Else
Application.EnableEvents = False
SendKeys "{BACKSPACE}", True
Application.EnableEvents = True
MsgBox "Please enter numeric character only."
End Select
End Sub