Private Sub Worksheet_Change(ByVal Target As Range)
Dim min As Double
Dim max As Double
On Error Resume Next
If Not Intersect(Target, Range("F17:Q28")) Is Nothing Then
If Target.Value = "" Then Exit Sub
Select Case Target.Row
Case Is = 17
min = Target.Offset(-12, 0).Value
max = Target.Offset(-11, 0).Value
Case Is = 18
min = Target.Offset(-13, 0).Value
max = Target.Offset(-12, 0).Value
Case Is = 19
min = Target.Offset(-14, 0).Value
max = Target.Offset(-13, 0).Value
Case Is = 20
min = Target.Offset(-15, 0).Value
max = Target.Offset(-14, 0).Value
Case Is = 21
min = Target.Offset(-16, 0).Value
max = Target.Offset(-15, 0).Value
Case Is = 22
min = Target.Offset(-17, 0).Value
max = Target.Offset(-16, 0).Value
Case Is = 23
min = Target.Offset(-18, 0).Value
max = Target.Offset(-17, 0).Value
Case Is = 24
min = Target.Offset(-19, 0).Value
max = Target.Offset(-18, 0).Value
Case Is = 25
min = Target.Offset(-20, 0).Value
max = Target.Offset(-19, 0).Value
Case Is = 26
min = Target.Offset(-21, 0).Value
max = Target.Offset(-20, 0).Value
Case Is = 27
min = Target.Offset(-22, 0).Value
max = Target.Offset(-21, 0).Value
Case Is = 28
min = Target.Offset(-23, 0).Value
max = Target.Offset(-22, 0).Value
End Select
If max = 0 Then
max = 1000000
End If
If Target.Value < min Or Target.Value > max Then
MsgBox "Valore non ammesso"
Target.Value = ""
End If
End If
End Sub
|