gpt4 book ai didi

excel - VBA 中的 SUMPRODUCT 公式

转载 作者:行者123 更新时间:2023-12-02 14:25:22 24 4
gpt4 key购买 nike

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

=SUMPRODUCT((Sale!$J$5:$J$1048576=C12)*Sale!$D$5:$D$1048576,Sale!$M$5:$M$1048576)

我使用了这段代码,但它给出了一个错误

Run-time error '13': Type mismatch

Dim slWks As Worksheet

Set slWks = Sheets("Sale")
ActiveSheet.Range("F12").Value = _
Application.WorksheetFunction.SumProduct((slWks.Range("J5:J1048576") = _
ActiveSheet.Range("C12")) * slWks.Range("D5:D1048576"), slWks.Range("M5:M1048576"))

如何使用 VBA 编写该公式及其值?

最佳答案

考虑到工作表函数方法不适用于您正在使用的大小的数组,两种可能的简单解决方案:

首先,添加公式,然后将其替换为其值

With activesheet.Range("F12")
.Formula =" =SUMPRODUCT((Sale!$J$5:$J$1048576=C12)*Sale!$D$5:$D$1048576,Sale!$M$5:$M$1048576)"
.Value2 = .Value2
End With

其次,使用Evaluate:

With Activesheet
.range("F12").Value2 = .Evaluate("SUMPRODUCT((Sale!$J$5:$J$1048576=C12)*Sale!$D$5:$D$1048576,Sale!$M$5:$M$1048576)")
End With

关于excel - VBA 中的 SUMPRODUCT 公式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43042040/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com