Tier As Range Function
Make sure you ask in nice order (like P45Cal said):
Select Case ERNVAR
Case Is < -0.12: FINDTier = Tier(8)
Case Is <= -0.07: FINDTier = Tier(7)
Case Is <= -0.03: FINDTier = Tier(6)
Case Is <= 0: FINDTier = Tier(5)
'what happens between 0 and .05???
'.13 is duplicated in your code
'which tier did you want?
Case Is 0.13: FINDTier = Tier(1)
Case Is = 0.13: FINDTier = Tier(2)
Case Is = 0.09: FINDTier = Tier(3)
Case Is = 0.05: FINDTier = Tier(4)
End Select
But that mixture of < and makes the code difficult for me.
This makes my head spin much less:
Select Case ERNVAR
Case Is < -0.12: FINDTier = Tier(8)
Case Is <= -0.07: FINDTier = Tier(7)
Case Is <= -0.03: FINDTier = Tier(6)
Case Is <= 0: FINDTier = Tier(5)
Case Is < 0.05: FINDTier = "Not defined"
Case Is < 0.09: FINDTier = Tier(4)
Case Is < 0.13: FINDTier = Tier(3)
Case Else
FINDTier = Tier(1)
End Select
Kind of like a postage stamp function. As soon as your package hits a certain
weight, it's categorized one way. And all packages that don't exceed the next
limit are the same price as your package.
Jim wrote:
I am trying to understand why this function is producing weird
results. I feel like I have setup the function correctly, but the
numbers being returned are not the numbers expected. Thanks for the
help,
Function FINDTier(ERNVAR, Tier As Range)
Select Case ERNVAR
Case Is 0.13: FINDTier = Tier(1)
Case Is = 0.13: FINDTier = Tier(2)
Case Is = 0.09: FINDTier = Tier(3)
Case Is = 0.05: FINDTier = Tier(4)
Case Is <= 0: FINDTier = Tier(5)
Case Is <= -0.03: FINDTier = Tier(6)
Case Is <= -0.07: FINDTier = Tier(7)
Case Is < -0.12: FINDTier = Tier(8)
End Select
End Function
--
Dave Peterson
|