我只是发现了一些奇怪的行为,即在调用带有/不带有括号的函数时。谷歌把我带到这里。sub test() dim a as double a = 1# p(a) 'this won't change a's value Debug.Print a '1 p a ' this is expected behavior Debug.Print a '2 Call p(a) 'this is also valid Debug.Print a '3end subFunction p(a as Double) 'default is byref a = a + 1end function我的结论是,仅使用一个参数调用函数时,您必须使用Call或省略括号,否则该参数不会通过引用传递(正如我已经检查过的那样,它仍然会被调用)。