错误:UDF中的“公式中使用的值是错误的数据类型”

时间:2019-10-24 19:15:42

标签: excel vba

我正在构建UDF,并且整个上午都收到此错误,而且我不确定如何解决它。

我正在尝试使用excel程序为伙计们构建一个函数,当他们添加一个注释时,由于注释总是成对出现,也会将注释添加到另一个位置,两个注释都具有相同的确切注释。我目前有:

Public Function AddComments(vesselCell As Variant, shopCell As Variant, comment As String) As Variant

    Range(vesselCell).AddComment (comment)

    Worksheets("Shop").Range(shopCell).Value = comment

End Function

我已经将它挑出了引起问题的第三行代码。

当前设置为“容器单元”,将注释添加到工作表中,然后“商店”工作表中有一个用于注释的栏目。

1 个答案:

答案 0 :(得分:0)

假设vesselCellshopCell都是Range对象,Range(vesselCell)Worksheets("Shop").Range(shopCell)就是问题的一部分。

将它们设为Range,而不是Variant

vesselCell.AddComment comment
shopCell.Value = comment

现在,此代码在UDF中不合法。将您的过程设为Sub过程(删除As Variant返回类型),然后从其他VBA代码中调用它,或将其附加到形状或按钮的OnAction属性上。

用户定义的函数接受输入,计算结果,然后将其返回给调用单元:您的代码未返回任何内容,强烈表明Function不是在这里合适。