【Excel VBA 函数传参之初级入门】函数形参定义规则及代码演示

函数是在任何编程语言中都有着举足轻重的作用,在Excel VBA 中同样重要

定义:围绕函数的核心功能划分,从外界传递可以增强函数的灵活性,传递的实参和函数定义时的形参都有其语言的规则,本小节归纳函数传参初级常用方法和分类。

VB默认地按地址(关键字ByRef)给函数过程(或子程序)传递信息

描述关键字备注
按地址传递ByRef函数改变了参数值,原始的数值就被改变了
按值传递ByValVB会复制一份原始数据,然后将复制值传递给函数,如果函数改变了参数数值,原始数据依然不会变——只有复制值变化

代码示例

一、ByRef 示例

Sub callFunctionWithDifferentParas()

Rem 定义个初始数值

Dim init_value As Integer
Let init_value = 100

calc_value = add(init_value)

Rem 变量原始值被修改:init_value 由100 变为 101
Debug.Print "原始数值:->" & init_value
Debug.Print "调用函数结果:->" & calc_value



End Sub

Rem 按照地址传递
Function add(ByRef value As Integer)

    value = value + 1
    add = value

End Function

以上代码动态展示效果动态演示程序运行过程

二、ByVal示例

Sub callFunctionWithDifferentParas()

Rem 定义个初始数值

Dim init_value As Integer
Let init_value = 100

calc_value = add(init_value)

Rem 变量原始值不变:init_value 由100 仍为为 100

Debug.Print "原始数值:->" & init_value
Debug.Print "调用函数结果:->" & calc_value



End Sub

Rem 按照值传递
Function add(ByVal value As Integer)

    value = value + 1
    add = value

End Function

以上代码动态展示效果动态调试过程和执行结果

总结

在具体代码逻辑过程中,需要根据业务的内容灵活选择合适的传递参数形式,来解决真实的业务问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值