Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
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 |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Volatile User Defined Function?? | Excel Programming | |||
Excel - User Defined Function Error: This function takes no argume | Excel Programming | |||
Need to open the Function Arguments window from VBA for a user defined function. | Excel Programming | |||
User-defined data type; Error: Only User-defined types... | Excel Programming | |||
User-Defined Function pre-empting Built-in Function? How to undo???? | Excel Programming |