参数不可选 - 创建在内容匹配时应用操作的函数

时间:2016-02-23 00:52:17

标签: excel-vba vba excel

如果匹配某个内容,我正在尝试将列的值添加到另一个列旁边。但是,当我这样做时,我得到Argument不是可选错误。

例如,如果我在单元格中有单词“foo”而在下一列中有数字4,我想在每次获得这样的单词时将每个值相加,并在最后返回它。

我已经尝试过放置可选功能,但功能无论如何都无法正常工作。我还在努力了解VBA,请耐心等待。

提前致谢!

Function Category(word As String)
Dim i As Integer
Category = 0

For i = 0 To 100
    If Cells(i + 2, 2).Value = word Then
         Category = Category + Cells(i + 2, 3).Value
    End If

Next i

Category

End Function

1 个答案:

答案 0 :(得分:1)

Per Doug对OP的评论,当内置SUMIF函数绰绰有余时,您可能不应该创建自定义UDF来执行此操作。

但是,您可以删除此行:

Category

(当然,假设这会引起编译错误;如果没有,请告知)

正如所写的那样,该行期待如下的分配:

Category = _value_

OR 期待被调用函数的参数(word),即

Category "something"