S
Steve Drenker
The variable "sEscRate" is behaving as if it is declared Static in the
following subroutine & function. I'm puzzled why this is. Each invocation of
the function in the sub should be passing it the variable sEscRate with a
value of 0.05. I am expecting each time TestFunc will return 1.05, not the
totalized amount?
Why is it behaving as if it were declared Static? What am I missing here?
Sub TestSub()
Dim sEscRate As Single
Dim i As Integer
sEscRate = 0.05
For i = 1 To 10
Debug.Print TestFunc(sEscRate)
Next i
End Sub
Function TestFunc(EscRate As Single) As Single
EscRate = EscRate + 1
TestFunc = EscRate
End Function
Results Results
Obtained Expected
1.05 0.05
2.05 0.05
3.05 0.05
4.05 0.05
5.05 0.05
6.05 0.05
7.05 0.05
8.05 0.05
9.05 0.05
10.05 0.05
following subroutine & function. I'm puzzled why this is. Each invocation of
the function in the sub should be passing it the variable sEscRate with a
value of 0.05. I am expecting each time TestFunc will return 1.05, not the
totalized amount?
Why is it behaving as if it were declared Static? What am I missing here?
Sub TestSub()
Dim sEscRate As Single
Dim i As Integer
sEscRate = 0.05
For i = 1 To 10
Debug.Print TestFunc(sEscRate)
Next i
End Sub
Function TestFunc(EscRate As Single) As Single
EscRate = EscRate + 1
TestFunc = EscRate
End Function
Results Results
Obtained Expected
1.05 0.05
2.05 0.05
3.05 0.05
4.05 0.05
5.05 0.05
6.05 0.05
7.05 0.05
8.05 0.05
9.05 0.05
10.05 0.05