【发布时间】:2018-08-09 20:02:11
【问题描述】:
所以我正在尝试编写一个函数,该函数接受两个参数(字符串)并将它们相加。
如果我尝试使用子例程调用此函数,如下面的代码所示,一切正常,并显示带有两个字符串的消息框。
但是,当我转到 excel 电子表格并将函数输入到这样的单元格中时:=add_strings("doesnt", "work") 或 =add_strings(doesnt, work),它不起作用并显示值错误。
但是,当我定义一个只有单个参数的函数时,它就可以工作了。因此,如果我将一个字符串作为函数参数并在函数内部定义另一个字符串,然后返回附加的字符串,它就可以工作。但是当我有更多的论点时,我很难接受它们。有任何想法吗?谢谢
Function add_strings(a As String, b As String) As String
add_strings = a & b
End Function
Sub caller()
Dim strVar As String
strVar = add_strings("doesnt", "work")
MsgBox strVar
End Sub
【问题讨论】:
-
不应该有“回报”之类的吗?
-
欢迎来到 vba 的精彩世界;) 在 vba 中,您通过将值分配给与函数同名的变量来返回。所以
add_strings = a & b其实就是函数的return语句。 -
您的语言环境是什么?可能您系统上的参数分隔符不是
,。