When you pass a value to procedure you may pass it ByVal of ByRef
The ByVal sends a copy of the argument’s value to the procedure cannot alter the original value. ByRef sends a reference indicating where the value is stored in memory, allowing the called procedure to actually change the argument’s original value.
You can specify how you want to pass the argument by using the ByVal or ByRef keyword before the arguments. Arguments are passed by reference by default.