我正在尝试使用该SUMPRODUCT
函数与SUMIF
. 但是当我运行宏时,我得到了……</p>
运行时错误 13.
我试图在一个看起来像这样的单元格中制作相同的功能。
=SUMPRODUCT(SUMIF(B2:B3,K15:K18,L15:L18))
它工作正常,所以我知道这个概念已经得到证明。
Sub GrandTotal() 'Finds the last non-blank cell in a single row or column
Dim lRow As Long
Dim lCol As Long
Dim GrandTotal As Variant
Dim MyRg1 As Variant
Dim MyRg2 As Variant
Dim MyRg3 As Variant
'Find the last non-blank cell in column A(1)
lRow = Cells(Rows.Count, 1).End(xlUp).Row
'Find the last non-blank cell in row 1
lCol = Cells(1, Columns.Count).End(xlToLeft).Column
MsgBox "Last Row: " & lRow & vbNewLine & _
"Last Column: " & lCol
'set range
Set MyRg1 = Range("B2:B3")
'set criteria
Set MyRg2 = Range("$K$15:$K$18")
'set sum range
Set MyRg3 = Range("$L$15:$L$18")
For Each cell In Range(Cells(lRow, 2), Cells(lRow, lCol))
GrandTotal = WorksheetFunction.SumProduct(WorksheetFunction.SumIf(MyRg1, MyRg2, MyRg3))
cell.Value = GrandTotal
Next cell
End Sub
我找到了一些如何在 VBA 中使用该函数的指南,并且我遵循了相同的原则,我还在堆栈上看到了另一篇文章,显示了如何做,但我得到了错误。
希望某个善良的灵魂可以提供帮助