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.