View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.worksheet.functions
Don Guillett Don Guillett is offline
external usenet poster
 
Posts: 10,124
Default Code simplification

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

"Sandy" wrote in message
...
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