ByVal literally copies the values of the variables from the calling subroutine into the called subroutine.
The variables can be changed, but their values will not change outside of the called subroutine.