The parenthesis or not is a vb convention, if you want to get the return value from the function you must supply the parenthesis, if you are not interested in the return value you must leave them out.
The := allows you to specify the parameters in a different order to the order in which they are declared.
Sub Test()
TestParams "hello", "there" ' not capturing the return value - no parenthesis
r = TestParams("hello", "there") ' reading the return value - parenthesis needed
TestParams w:="there", v:="hello" ' := supply the parameters in a different order
r2 = TestParams(w:="there", v:="hello") ' := and () to supply the parameters in different order and get the return value
End Sub
Public Function TestParams(v As String, w As String)
MsgBox v & " " & w
TestParams = "ok" & " " & v & " " & w
End Function