【问题标题】:Function in VBA does not work in excelVBA中的函数在excel中不起作用
【发布时间】: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语句。
  • 您的语言环境是什么?可能您系统上的参数分隔符不是,

标签: excel vba function


【解决方案1】:

我在 excel 2013 中尝试了该功能,它工作正常,没有任何错误

查看附件截图

https://i.stack.imgur.com/n0WHW.png

【讨论】:

    【解决方案2】:

    问题已解决 - 参数分隔符确实不是逗号,而是分号 (;)。

    【讨论】:

      猜你喜欢
      • 2012-07-25
      • 2012-04-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-02
      • 2013-03-18
      • 2019-04-04
      • 1970-01-01
      相关资源
      最近更新 更多