5 By value parameters

A passed-by-value (“byval”) parameter is almost like a local variable, except that its initial value is specified by an invoke statement (that invokes the subroutine that defines the byval parameter).

Other than this, a byval parameter behaves exactly like a local variable.

 5.1 Basic byval parameter
 5.2 Byval parameter in a recursive subroutine