ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Volatile User Defined Function?? (https://www.excelbanter.com/excel-programming/378318-volatile-user-defined-function.html)

[email protected]

Volatile User Defined Function??
 
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



All times are GMT +1. The time now is 10:35 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com