微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 VBA 中使用 SUMPRODUCT 公式的变体

如何解决在 VBA 中使用 SUMPRODUCT 公式的变体

我想在 VBA 中使用以下类型的 SUMPRODUCT 公式:

=SUMPRODUCT(A1:A2,C1/B1:B2)

它在 excel 中运行良好,但是当将它用作 VBA 函数时,它会给出 #VALUE!结果:

Function Test(LineA As Range,LineB As Range,ValueC As Double)

Test = Application.WorksheetFunction.SumProduct(LineA,ValueC / LineB)

End Function

如何使用 vba 编写带有其值的公式?

解决方法

将其包裹在 evaluate

将 Microsoft Excel 名称转换为对象或值。

Name... Variant .....一个公式或对象的名称,使用命名 Microsoft Excel 的约定。名称的长度必须小于或等于 255 个字符。

Application.Evaluate("=SUMPRODUCT(A1:A2,C1/B1:B2)")
,

尝试使用 Evaluate 方法...

Function Test(LineA As Range,LineB As Range,ValueC As Double)

    Test = Evaluate("SUMPRODUCT(" & LineA.Address(external:=True) & "," & LineB.Address(external:=True) & "/" & ValueC)

End Function

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。