Thread: help with code!
View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
Kevin Kevin is offline
external usenet poster
 
Posts: 134
Default help with code!


Instead of nesting your if statements, try do it
sequentially. Example:

Private Sub Worksheet_Change(ByVal Target As Range)

On Error GoTo ws_exit:
Application.EnableEvents = False
If Not Intersect(Target, Me.Range("Y13")) Is Nothing
Then
With Target
'do something
If Len(Y13) < 9 Then
MsgBox "Must be 9 digits"
Exit Sub
End If

If IsNumeric(Y13) Then
Y13.NumberFormat = "###-###-###"
Else
MsgBox "Must be a number"
End If
End With
End If

ws_exit:
Application.EnableEvents = True
End Sub

Not sure if that will do it, but logically it will still
flow through the proper validation steps.
-----Original Message-----
I cannot get my code to work! i am trying to just check
that when the user enters a value in cell Y13 that its a

9
digit numeric value

but every time i enter a value. it always goes to the

last
condition "Must be 9 digits" even when i enter in a
correct value

what's wrong here?! help! :)

Private Sub Worksheet_Change(ByVal Target As Range)

On Error GoTo ws_exit:
Application.EnableEvents = False
If Not Intersect(Target, Me.Range("Y13")) Is Nothing
Then
With Target
'do something
If Len(Y13) = 9 Then
If IsNumeric(Y13) Then
Y13.NumberFormat = "###-###-###"
Else
MsgBox "Must be a number"
End If
Else
MsgBox "Must be 9 digits"
End If
End With
End If

ws_exit:
Application.EnableEvents = True
End Sub


.