本文介绍VBA开发中涉及到的基础语法,VBA函数使用过程中的引用与传值。这是每一门编程语言都会遇到的问题,也是需要掌握才能灵活使用的问题。本程序(主程序)调用其他程序(被调用程序)时,可以把参数传给其他程序,并取得回调。而传递参数的方式有两种,一种是引用传递,一种是拷贝值传递。
1.引用传递
简单来说,引用传递就是将主函数中的值本身传递给子函数,在子函数中对值进行修改,当子函数结束返回到主函数时,对应值的状态也会相应修改。采用的关键词为ByRef 。范例代码如下所示:
Sub function1(ByRef a)
a = a + 1
End Sub
Sub test()
Debug.Print "执行test"
X = 3
Debug.Print "x=" & X
Debug.Print "开始调用"
function1 X
Debug.Print "调用结束"
Debug.Print "x=" & X
End Sub
结果如下所示:
2.值传递
值传递原理上时复制,将主函数的变量值复制为新的变量,所以在子函数中对变量值进行修改,当子函数返回到主程序时,变量值不会受到影响。采用的关键词为ByVal 。范例代码如下所示:
Sub function1(ByVal a)
a = a + 1
End Sub
Sub test()
Debug.Print "执行test"
X = 3
Debug.Print "x=" & X
Debug.Print "开始调用"
function1 X
Debug.Print "调用结束"
Debug.Print "x=" & X
End Sub
结果如下所示:
合理的脚本代码可以有效的提高工作效率,减少重复劳动。