首页 > 解决方案 > VBA定义的函数不接受多个变量

问题描述

我的 VBA 函数不接受基本函数的两个变量。它不断给出#VALUE!错误。

Function myFunction(x As Integer, y As Integer) As Integer
    result = x + y
    myFunction = result
End Function

但是,如果我简单地删除 y 变量,它就可以正常工作。例如,这完美地工作:

Function myFunction(x As Integer) As Integer

    result = x + x
    myFunction = result

End Function

我在联想 Yoga 上使用 Windows 10 Pro。

标签: excelvba

解决方案


如果您使用带有公式(如=myFunction(A1:A2)数组)的 Excel 范围调用函数,则将作为第一个参数发送,而第二个参数将丢失,并导致您获得的最终结果出错。

注意:=myFunction(A1, A2)应该工作。

如果您确实在使用范围,请按如下方式定义 myFunction:

Function myFunction (x())

推荐阅读