Argument names must follow the same naming conventions that apply to any VBA Identifier. Arg1 and Arg2 are similar to variables and refer to whatever value is passed at the time your function is called. Argument names have the same scope as variables declared locally and are not accessible outside the function procedure. Optional arg3 represents an optional argument. You cannot declare the data type of an optional argument.
Optional arguments are always a Variant data type.
After VBA executes the last line of the function, execution and the value returned by the function returns to whatever procedure called the function, or to a worksheet cell if the function is a user defined function. A UDF cannot alter Excel's environment in any way. It cannot select, delete, insert, rename, or format any data in any worksheet or chart sheet. Furthermore, a UDF may not set object properties or use object methods. The most common use of a user defined function is to manipulate or calculate a result based on data or values received as arguments.