byval 是按值传送 (在传给子过程或函数时系统将创建一个该变量的副本—这样一来该变量将独立于子过程(子过程不能修改该变量的值))另一个是按引用传递(传给子过程或函数是变量的地址—在子过程中能改变变量的值(有点类似其它语言的指针—只是不能改变变量地址而已))
byref 会改变引用变量的值 vbval则不会
byref 是按地址传递参数,ByVal 是按值传递参数。也就是过程中修改参数值后按值传递不会对其他过程产生影响,参数值过程完成后不变。按址传递后修改该参数值会对其他过程产生影响,参数值过程完成后被改变了。
改下:
Private Sub proc(ByRef a, ByRef b)
a = a * a
b = b + b
End Sub
Private Sub asd(ByVal a, ByVal b)
a = a * a
b = b + b
End Sub