ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Limit input in a textbox (https://www.excelbanter.com/excel-programming/276557-limit-input-textbox.html)

James Agostinho

Limit input in a textbox
 
Hello NG,
I need to limit the input in a text box via the Key_Press event in VBA.
I'm accepting input for hexadecimal to be converted to Decimal and Binary
but I only the user to be able to input 0-9,a-f and A-F.
I can get a limit with using
If KeyAscii <48 OR KeyAscii 57 then KeyAscii = 0
This works but only for one set, either numbers or small letter or Caps, but
not all.
Does anyone know how to make a set of character to use, something like
(0123456789abcdefABCDEF)
Any help would be greatly appreciated.
Thanks
Jim



acw

Limit input in a textbox
 
Jim

Try
Private Sub TextBox1_KeyPress(ByVal KeyAscii As
MSForms.ReturnInteger)
Select Case KeyAscii
Case 48 To 57, 65 To 70, 97 To 102

Case Else
KeyAscii = 0
End Select

End Sub


Tony
-----Original Message-----
Hello NG,
I need to limit the input in a text box via the Key_Press

event in VBA.
I'm accepting input for hexadecimal to be converted to

Decimal and Binary
but I only the user to be able to input 0-9,a-f and A-F.
I can get a limit with using
If KeyAscii <48 OR KeyAscii 57 then KeyAscii = 0
This works but only for one set, either numbers or small

letter or Caps, but
not all.
Does anyone know how to make a set of character to use,

something like
(0123456789abcdefABCDEF)
Any help would be greatly appreciated.
Thanks
Jim


.


James Agostinho

Limit input in a textbox
 
ACW and Robin,
Thanks for the tips, I got it to work with the CASE version, but I have
another text box that the InStr ver will work with better.
Thanks again, you saved me a big headache ;-)

Jim
"Robin Hammond" wrote in message
...
If you have the rest of the code working, something like this should do it

If InStr("0123456789abcdefABCDEF", Chr(keyascii)) 0 Then
MsgBox "valid character found"
End If

--
Robin Hammond
www.enhanceddatasystems.com
Check out our XspandXL add-in


"James Agostinho" wrote in message
ink.net...
Hello NG,
I need to limit the input in a text box via the Key_Press event in VBA.
I'm accepting input for hexadecimal to be converted to Decimal and

Binary
but I only the user to be able to input 0-9,a-f and A-F.
I can get a limit with using
If KeyAscii <48 OR KeyAscii 57 then KeyAscii = 0
This works but only for one set, either numbers or small letter or Caps,

but
not all.
Does anyone know how to make a set of character to use, something like
(0123456789abcdefABCDEF)
Any help would be greatly appreciated.
Thanks
Jim








All times are GMT +1. The time now is 01:49 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com