Public Function GRIDSALES(rev_date As Date, grid_date As Date) As Variant
Application.Volatile (True)
Set Final_Price = Sheets("KRONOS").Range("$H:$H")
Set Team = Sheets("KRONOS").Range("$DO:$DO")
Set First_PD = Sheets("KRONOS").Range("$Q:$Q")
GRIDSALES1 = Application.WorksheetFunction.SumIfs(_
Final_Price _
, Team, "<>9" _
, First_PD, ">=" & rev_date, First_PD, "<=EoMonth(" & grid_date & ")")
End Function
上面的VBA代码符合没有任何错误,但不会生成答案。我试图创建一个UDF,在两个日期rev_date
和grid_date
之间为所有销售团队(不包括团队9)总结最终价格。我错过了什么?VBA中的SUMIF功能无法正常工作
我会打破它然后查看'GRIDSALES1'仅适用于'Team <> 9'这些值,然后添加'First_PD'标准并查看是否得到结果,然后将所有3个结合在一起。此外,请检查调试器中出现的“>”=“&rev_date”(在执行过程中,突出显示编辑器中的分组,右键单击和“添加监视”)以确保它有意义。为''<= EoMonth(“&grid_date&”)“'部分做相同的操作。 – jonsca 2011-06-13 11:15:20