View Single Post
  #3   Report Post  
Posted to microsoft.public.excel.programming
Alex St-Pierre Alex St-Pierre is offline
external usenet poster
 
Posts: 169
Default How to know if a variable has been reset inside other function

Thanks, it's what I needed. I will use ByVal inside function.
If I use twice i as in the example below, i is not reset in the function.
What I understand is that it's only the elements inside function that are
re-formated (with ByRef).

Sub temp()
Dim iValue as integer
iValue = 10
For i = 1 to 10
Temp = myFunction(iValue)
Next i
End Sub

Function myFunction(ByVal iValue as integer)
Dim i as integer
For i = 1 to 3
'treatment...
Next i
End Function

--
Alex St-Pierre


"RB Smissaert" wrote:

If your intention is to use the variable in the function and alter it only
temporarily while the function does it job then the answer is to pass
those variables ByVal.
Default is ByRef and that can leave it in an altered state after the
function
is finished.
Best to look this up in the VBA help.

RBS


"Alex St-Pierre" wrote in message
...
Hi,
My program use a lot of function and sometimes, the variables are reset
because it call a function that use the same variable name. I have
sometimes,
Function inside Function inside Function and it's very hard to make all
differents. Is there a way to insure no variable will be reset?? Like a
program compilation or execution option or something else?
Thanks a lot!
--
Alex St-Pierre