Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
TextBox and KeyCode
I've got a userform with multiple textboxes, each corresponding to
different types of data. I'm trying to limit the possible errors that can occur. One of my textboxes, corresponds to a zip code. The code I have to restrict possible entries to number is as so: Private Sub ZipCode_KeyDown(ByVal KeyCode As _ MSForms.ReturnInteger, ByVal Shift As Integer) If KeyCode < 48 Or KeyCode 57 Then KeyCode = 0 Beep End If End Sub However, the two problems I have is that. A) The user cannot use the keypad. What are the keycodes to enable the use of the keypad. B) The user cannot use the backspace key, to correct an entry. How can I limit the entries to numbers, but allow them to use the keypad? And allow them to correct themselves, with the backspace key? Thanks. *** Sent via Developersdex http://www.developersdex.com *** |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
TextBox and KeyCode
Private Sub ZipCode_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal
Shift As Integer) With Me.ZipCode Select Case KeyCode Case KeyCode < 48, Is 57 KeyCode = 0 Beep Case 8 'backspace If Len(.Text) 0 Then .Text = Left(.Text, Len(.Text) - 1) End If KeyCode = 0 End Select End With End Sub -- HTH RP (remove nothere from the email address if mailing direct) "Darrin Henshaw" wrote in message ... I've got a userform with multiple textboxes, each corresponding to different types of data. I'm trying to limit the possible errors that can occur. One of my textboxes, corresponds to a zip code. The code I have to restrict possible entries to number is as so: Private Sub ZipCode_KeyDown(ByVal KeyCode As _ MSForms.ReturnInteger, ByVal Shift As Integer) If KeyCode < 48 Or KeyCode 57 Then KeyCode = 0 Beep End If End Sub However, the two problems I have is that. A) The user cannot use the keypad. What are the keycodes to enable the use of the keypad. B) The user cannot use the backspace key, to correct an entry. How can I limit the entries to numbers, but allow them to use the keypad? And allow them to correct themselves, with the backspace key? Thanks. *** Sent via Developersdex http://www.developersdex.com *** |
#3
Posted to microsoft.public.excel.programming
|
|||
|
|||
TextBox and KeyCode
Thanks Bob. That takes care of the need to backspace, but any ideas on
how to allow them to use the numeric keypad? *** Sent via Developersdex http://www.developersdex.com *** |
#4
Posted to microsoft.public.excel.programming
|
|||
|
|||
TextBox and KeyCode
Sorry about that
Private Sub ZipCode_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) With Me.ZipCode Select Case True Case (KeyCode = 96 And KeyCode < 105) 'numeric keypad 'exit quietly Case (KeyCode = 48 And KeyCode < 57) 'normal keypad 'exit quietly Case KeyCode = 8 'backspace If Len(.Text) 0 Then .Text = Left(.Text, Len(.Text) - 1) End If KeyCode = 0 Case Else KeyCode = 0 Beep End Select End With End Sub -- HTH Bob Phillips "Darrin Henshaw" wrote in message ... Thanks Bob. That takes care of the need to backspace, but any ideas on how to allow them to use the numeric keypad? *** Sent via Developersdex http://www.developersdex.com *** |
#5
Posted to microsoft.public.excel.programming
|
|||
|
|||
TextBox and KeyCode
As long as the Num Lock is on the keypad should return the same ascii values
as the keyboard number keys. "Darrin Henshaw" wrote: Thanks Bob. That takes care of the need to backspace, but any ideas on how to allow them to use the numeric keypad? *** Sent via Developersdex http://www.developersdex.com *** |
#6
Posted to microsoft.public.excel.programming
|
|||
|
|||
TextBox and KeyCode
Thanks it's working now. Is there a place I can see what the values are
for each key? So I can print them, or save them for future reference. Also, by just modifying the "Me.ZipCode" can use the same code for another textbox, as is? Thanks. *** Sent via Developersdex http://www.developersdex.com *** |
#7
Posted to microsoft.public.excel.programming
|
|||
|
|||
TextBox and KeyCode
There is a list of Ascii characters in VB help. Or you can set a debug
breakpoint and examine the value, or use Debug.Print KeyCode, or whatever. "Darrin Henshaw" wrote: Thanks it's working now. Is there a place I can see what the values are for each key? So I can print them, or save them for future reference. Also, by just modifying the "Me.ZipCode" can use the same code for another textbox, as is? Thanks. *** Sent via Developersdex http://www.developersdex.com *** |
#8
Posted to microsoft.public.excel.programming
|
|||
|
|||
TextBox and KeyCode
Yes, we often modify existing code or create module that can be used in many
other places. "Darrin Henshaw" wrote: Thanks it's working now. Is there a place I can see what the values are for each key? So I can print them, or save them for future reference. Also, by just modifying the "Me.ZipCode" can use the same code for another textbox, as is? Thanks. *** Sent via Developersdex http://www.developersdex.com *** |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
Keycode description creator | Excel Discussion (Misc queries) | |||
HELP! I Lost The Ability To Advance From TextBox To TextBox With the ENTER Or The TAB Keys | Excel Programming | |||
detecting keycode internationally | Excel Programming | |||
Textbox Bug? Missing/delayed update of textbox filled via VBA | Excel Programming | |||
Textbox Bug? Missing/delayed update of textbox filled via VBA | Excel Programming |