View Single Post
  #3   Report Post  
Posted to microsoft.public.excel.programming
Doug Glancy Doug Glancy is offline
external usenet poster
 
Posts: 770
Default Data Validation - Accept Only Certain Numbers/Characters

Jim,

Can you explain the use of the brackets in the line below from your previous
code? They seem to mean "inclusive" but I don't know how to google it and
find out more. I'd apprecaite any instruction on the general syntax:

Const str_Chars As String = "[0-9a-zA-Z ]"

thanks,

Doug

"Jim Thomlinson" wrote in message
...
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo OuttaHere
If Target.Address = "$B$5" Then '<<<< change cell
Application.EnableEvents = False
With Target
If Not ((.Value = 0 And .Value <= 1) Or UCase(.Value) = "M") Then
MsgBox "Only numbers or alphabetic characters allowed. ", _
vbOKOnly, " Blame Dan"
Application.Undo
End If
End With
End If
OuttaHe
Application.EnableEvents = True
End Sub
--
HTH...

Jim Thomlinson


"Paige" wrote:

The following code came from a previous question; purpose was to limit
input
to only the numbers 1-9 and alpha characters. I need to modify it so
that it
will accept a number anywhere from 0-100% and the letter 'M'. Have tried
various ways to change the 'Const str_Chars As String', such as
"[0.00-100.00%,m,M]" etc., to no avail. Can someone please advise the
proper
way to designate the string?

Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo OuttaHere
If Target.Address = "$B$5" Then '<<<< change cell
Application.EnableEvents = False
Dim strText As String
Dim lngN As Long
Const str_Chars As String = "[0-9a-zA-Z ]"
strText = Target.Text

For lngN = 1 To Len(strText)
If Not Mid$(strText, lngN, 1) Like str_Chars Then
MsgBox "Only numbers or alphabetic characters allowed. ", _
vbOKOnly, " Blame Dan"
Application.Undo
Exit For
End If
Next 'lngN
End If
OuttaHe
Application.EnableEvents = True
End Sub