Using SELECT CASE would help a lot. See the vba help index
select case mycell.Offset(-25) = 3 And mycell.Offset(-5) -
mycell.Offset(-23)
case 1:x="normal"
'etc
case else
end select
msgbox x
--
Don Guillett
SalesAid Software
(E-Mail Removed)
"Sandy" <(E-Mail Removed)> wrote in message
news:(E-Mail Removed)...
>I have the following code which works fine. My question though is how can
>it be simplified (which I am sure it can).
>
> For Each mycell In Range("C31:K31,M31:U31")
> If mycell.Offset(-25) = 3 And mycell.Offset(-5) -
> mycell.Offset(-23) = 1 Then
> mycell.Value = "Normal"
> mycell.Offset(1).Value = 0
> ElseIf mycell.Offset(-25) = 3 And mycell.Offset(-5) -
> mycell.Offset(-23) = 2 Then
> mycell.Value = "+1"
> mycell.Offset(1).Value = 1
> ElseIf mycell.Offset(-25) = 3 And mycell.Offset(-5) -
> mycell.Offset(-23) = 3 Then
> mycell.Value = "+2"
> mycell.Offset(1).Value = 2
>
> *******Etc********
>
> ElseIf mycell.Offset(-25) = 3 And mycell.Offset(-5) -
> mycell.Offset(-23) = 10 Then
> mycell.Value = "+9"
> mycell.Offset(1).Value = 9
> ElseIf mycell.Offset(-25) = 3 And mycell.Offset(-5) -
> mycell.Offset(-23) = 11 Then
> mycell.Value = "Too High"
> mycell.Offset(1).Value = 10
>
> ElseIf mycell.Offset(-25) = 4 And mycell.Offset(-5) -
> mycell.Offset(-23) = 1 Then
> mycell.Value = "-1"
> mycell.Offset(1).Value = -1
> ElseIf mycell.Offset(-25) = 4 And mycell.Offset(-5) -
> mycell.Offset(-23) = 2 Then
> mycell.Value = "Nomal"
> mycell.Offset(1).Value = 0
> ElseIf mycell.Offset(-25) = 4 And mycell.Offset(-5) -
> mycell.Offset(-23) = 3 Then
> mycell.Value = "+1"
> mycell.Offset(1).Value = 1
>
> *******Etc********
>
> ElseIf mycell.Offset(-25) = 4 And mycell.Offset(-5) -
> mycell.Offset(-23) = 11 Then
> mycell.Value = "+9"
> mycell.Offset(1).Value = 9
> ElseIf mycell.Offset(-25) = 4 And mycell.Offset(-5) -
> mycell.Offset(-23) >= 12 Then
> mycell.Value = "Too High"
> mycell.Offset(1).Value = 10
>
> ElseIf mycell.Offset(-25) = 5 And mycell.Offset(-5) -
> mycell.Offset(-23) = 1 Then
> mycell.Value = "-2"
> mycell.Offset(1).Value = -2
> ElseIf mycell.Offset(-25) = 5 And mycell.Offset(-5) -
> mycell.Offset(-23) = 2 Then
> mycell.Value = "-1"
> mycell.Offset(1).Value = -1
> ElseIf mycell.Offset(-25) = 5 And mycell.Offset(-5) -
> mycell.Offset(-23) = 3 Then
> mycell.Value = "Normal"
> mycell.Offset(1).Value = 0
>
> *******Etc********
>
> ElseIf mycell.Offset(-25) = 5 And mycell.Offset(-5) -
> mycell.Offset(-23) >= 13 Then
> mycell.Value = "Too High"
> mycell.Offset(1).Value = 10
> End If
> Next mycell
>
> Thanks
> Sandy
>