View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
Jake Marx[_3_] Jake Marx[_3_] is offline
external usenet poster
 
Posts: 860
Default Text Box Data Validation

Hi dutty,

Something like this should work:

Private Sub TextBox1_KeyPress(ByVal KeyAscii _
As MSForms.ReturnInteger)
If Not ((KeyAscii = Asc("0") And _
KeyAscii <= Asc("9")) Or (KeyAscii = Asc(".") _
And InStr(TextBox1.Text, ".") = 0)) Then
Interaction.Beep
KeyAscii = 0
End If
End Sub

--
Regards,

Jake Marx
MS MVP - Excel
www.longhead.com

[please keep replies in the newsgroup - email address unmonitored]


dutty wrote:
I have some text boxes on a form that I want the user to be limited
to only numeric entry. I found this code in an earlier thread:

Private Sub TextBox1_KeyDown(ByVal KeyCode As _
MSForms.ReturnInteger, ByVal Shift As Integer)
If Shift = 2 Then
If KeyCode = 86 Then KeyCode = 0
End If
End Sub


Private Sub TextBox1_KeyPress(ByVal KeyAscii _
As MSForms.ReturnInteger)
Select Case KeyAscii
Case 46
If InStr(TextBox1.Text, ".") 0 Then _
KeyAscii = 0
Case 48 To 57
Case Else
KeyAscii = 0
End Select
End Sub


This works great, but I need decimal entries to be allowed as well,
and when the user presses the "." key an error is returned. Since
I'm fairly new at this, and completely in the dark about limiting key
entries, I need some help!