And for more reference...if you pass a variable as "ByRef"(which is the default), and when you change the value of that variable, it'll effect the actual variable passed to the function. On the other side, if you pass a variable as "ByVal", the function makes a copy of that variable into the memory and works with that. It does not effect the actual variabel passed to the function.
This kind of stuff is similar to pointers but not as powerful as they are.