仅仅关于在vba中传递参数,如果参数在括号中传递而不是使用':='明确说明它们,则ByRef似乎采取不同的行为,例如:
Sub CallingProcedure()
Dim a As Long
a = 123
CalledProcedure (a)
MsgBox (a)
CalledProcedure x:=a
MsgBox (a)
End Sub
Sub CalledProcedure(ByRef x As Long)
x = 321
End Sub
第一个MessageBox将显示123,而第二个将显示321.我找不到任何地方解释为什么在括号中传递参数或使用':=“存在差异。有人知道为什么吗?