无论是否通过括号传递,VBA ByRef参数的行为都不同

时间:2013-06-07 01:52:46

标签: vba arguments expression byref byval

仅仅关于在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.我找不到任何地方解释为什么在括号中传递参数或使用':=“存在差异。有人知道为什么吗?

0 个答案:

没有答案
相关问题