Volatile User Defined Function??

J

james.billy

Hi,

I have a workbook with several user defined functions, whilst debugging
a sub routine (not a function) I noticed that the function was
recalculating even though I am on a different sheet and not changing
any of it precendents.

The function is:

Function SupplyPay(Contract_Type As String, ScalePt As Range, Payscales
As Range, Workhours As Variant, _
Workweeks As Double, Allowances As Double,
WhichYr As Integer) As Double
Dim k As Integer
Dim tmpHrs As Double, tmpPay As Double
k = WhichYr + 4
tmpHrs = Application.Average(Workhours)
tmpPay = Application.VLookup(ScalePt, Payscales, k, False)
If Contract_Type = "TA" Or Contract_Type = "NN" Then
SupplyPay = tmpPay * ((tmpHrs / 32.5) * (Workweeks / 52)) +
Allowances
Else
SupplyPay = tmpPay * tmpHrs / 37 * Workweeks / 52 + Allowances
End If
End Function

When I first wrote this the ScalePt argument was using the indirect
function which I know is volatile but I have subsequently rewritten
that function to avoid using it, which didn't stop this from
recalculating, finally I valued the ScalePt just to make sure but this
still recalculates when any calculation takes place. Any ideas, am I
doing something stupid? Am I right in thinking that this should only
recalculate when one of the arguments changes?

Any help will be very much appreciated,

Cheers,

James
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top