View Single Post
  #3   Report Post  
Posted to microsoft.public.excel.programming
Chip Pearson Chip Pearson is offline
external usenet poster
 
Posts: 7,247
Default ByRef not passing address

Ian,

ByRef is indeed the default method of passing parameters, but when you
enclose the parameter in parentheses in the call to the procedure, you are
forcing it to be passed ByVal.

Change
increment(myValue)
to
increment myValue


--
Cordially,
Chip Pearson
Microsoft MVP - Excel
Pearson Software Consulting, LLC
www.cpearson.com

"Ian Stanborough" wrote in message
...
Hope some one can help

My problem is when I try to create a function that will increment an
integer, the calling parameter I believe is passed as a value and not a
reference. The help file suggest that default value of parameters passed

is
ByRef, but this example tell me in the case of integer its not.

Does any one have a work around.

My email address is

All suggests are welcomed. A coded example would explain all


Program
dim myValue as integer
.....
myValue = 0
increment(myValue)
' here myValue still has value of 0, because it was not passed to
subroutine as reference and hence not incremented
....
end Program



sub increment( number as integer)
number = number + 1
end sub