如果匹配某个内容,我正在尝试将列的值添加到另一个列旁边。但是,当我这样做时,我得到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
答案 0 :(得分:1)
Per Doug对OP的评论,当内置SUMIF
函数绰绰有余时,您可能不应该创建自定义UDF来执行此操作。
但是,您可以删除此行:
Category
(当然,假设这会引起编译错误;如果没有,请告知)
正如所写的那样,该行期待如下的分配:
Category = _value_
OR 期待被调用函数的参数(word
),即
Category "something"