Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
ascii validation question
I have created the following code to only allow numeric values (an decimal point) into TextBox1. Private Sub Textbox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) Select Case KeyAscii Case Asc("0") To Asc("99") Case Asc(".") If InStr(1, TextBox1.Text, ".") 0 Then KeyAscii = 0 End If Case Else KeyAscii = 0 End Select End Sub The problem is this allow the entry of the decimal point alone. Thi causes a '#VALUE' error in the target cell which in turn causes th code to halt and bring up the debug form. How do I modify this code so that if the user attempts to enter th decimal point without a trailing number the value gets turned to Null -- SimonBianch ----------------------------------------------------------------------- SimonBianchi's Profile: http://www.excelforum.com/member.php...fo&userid=3729 View this thread: http://www.excelforum.com/showthread.php?threadid=57011 |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
ascii validation question
How about adding another check?
If TextBox1.Text = "" Then KeyAscii = 0 End If In the case asc(".") portion. And watch that Asc("99"). I bet you meant asc("9"). ==== But I don't think I'd stop this. But right before I was gonna use that value in the textbox, I'd prefix it with a 0. So if the user wanted to hit .5, they could. I'd just stick a 0 in front (0.5) before processing. Maybe even format the number on the way out: Option Explicit Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean) With Me.TextBox1 .Text = Format("0" & .Text, "0.000") End With End Sub SimonBianchi wrote: I have created the following code to only allow numeric values (and decimal point) into TextBox1. Private Sub Textbox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) Select Case KeyAscii Case Asc("0") To Asc("99") Case Asc(".") If InStr(1, TextBox1.Text, ".") 0 Then KeyAscii = 0 End If Case Else KeyAscii = 0 End Select End Sub The problem is this allow the entry of the decimal point alone. This causes a '#VALUE' error in the target cell which in turn causes the code to halt and bring up the debug form. How do I modify this code so that if the user attempts to enter the decimal point without a trailing number the value gets turned to Null? -- SimonBianchi ------------------------------------------------------------------------ SimonBianchi's Profile: http://www.excelforum.com/member.php...o&userid=37298 View this thread: http://www.excelforum.com/showthread...hreadid=570116 -- Dave Peterson |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
Validation Question | Excel Worksheet Functions | |||
Validation Question | Excel Discussion (Misc queries) | |||
Question on Validation | Excel Worksheet Functions | |||
validation question | Excel Discussion (Misc queries) | |||
Validation Question....Can this be done? | Excel Discussion (Misc queries) |