VBA Functions Excel 2002

  • Thread starter Thread starter Guest
  • Start date Start date
G

Guest

Please help.
I have created a Function (see below) but regardles of the numbers I enter,
I can only get one result to display. That result is Poor-Improving
Grrrr! What am I missing here? can anyone help-Please!!!

Function EvalAll(OverallEval As Double)

If RecentEvaluation >= OverallEvaluation And OverallEvaluation > 4 Then
EvalAll = "Good-Improving"
ElseIf RecentEvaluation >= OverallEvaluation And OverallEvaluation < 4 Then
EvalAll = "Poor-Improving"
ElseIf RecentEvaluation >= OverallEvaluation And OverallEvaluation > 4 Then
EvalAll = "Good-Improving"
ElseIf RecentEvaluation >= OverallEvaluation And OverallEvaluation > 4 Then
EvalAll = "Poor-Interview"

End If
End Function

I have looked at this for so long without success and now I am not sure what
I am doing anymore!!!

Cheers Sherry
 
Hi Sherry

two problems as i see it
one - you're only passing in the OverallEval parameter not the
RecentEvaluation parameter
two - you're passing in a parameter called "OverallEval" but calling it
"OveralLEvaluation" in the function itself
 
Hello JulieD

I am sorry but I do not understand what you mean by passing in the parameter!!

I did however pick up on typo of OverallEval that should have been
OverallEvaluation

Any further elaboration would be helpful

Thank You Cheers Sherry
 
The first, third, and fourth of your conditions are the same:

RecentEvaluation >= OverallEvaluation And OverallEvaluation > 4

and in ALL 4 cases you are testing for RecentEvaluation >= OverallEvaluation

How about
====================================
If RecentEvaluation >= OverallEvaluation Then
If OverallEvaluation > 4 Then
EvalAll = "Good-Improving"
Else
EvalAll = "Poor-Improving"
End If
Else
' this portion is in case RecentEvaluation < OverallEvaluation
If OverallEvaluation > 4 Then
EvalAll = "??"
Else
EvalAll = "Poor-Interview??"
End If
End If
===================================

If RecentEvaluation >= OverallEvaluation then
 
Back
Top