我是vba的新手,我想知道如何在excel上实现一个公式(sumproduct)到vba。该公式从工作簿上的其他工作表中获取值。公式是:
=((SUMPRODUCT(-(Details!$C$7:$C$1182=A3),-(Details!$E$7:$E$1182=B3), -(Details!$S$7:$S$1182="Delivered"), -(Details!$G$7:$G$1182=C3), Details!$N$7:$N$1182)))
这是我的代码;
Private Sub ATO()
Dim ws1 As Worksheet
Dim wb1 As Workbook
Dim last As Long
Dim i As Integer
Set wb1 = ThisWorkbook
Set ws1 = wb1.Worksheets("Summary")
last = ws1.Cells(Rows.Count, "A").End(xlUp).Row
ws1.Range("I2:I" & last) = Application.SumProduct(?)
End Sub
我的代码是否在正确的轨道上?任何回应都将不胜感激。
答案 0 :(得分:0)
是的,你是在正确的轨道上但是如果你在vba中调用excel函数你应该使用Application.WorksheetFunction
例如针对您的问题Application.WorksheetFunction.sumif()
有一个例外,请记住,如果vba中存在相同的函数,则不能将excel版本与WorksheetFunction一起使用。因此,如果您在工作表函数中找不到函数,则在没有它的情况下尝试它。
祝好运!如果某些内容无法发挥作用,我将尽力提供帮助!