VBA中的SUMIFfunction无法正常工作
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代码没有任何错误,但不会生成答案。 我试图创build一个UDF,它为两个daterev_date
和grid_date
之间的所有销售团队(不包括团队9)总结最终价格。 我错过了什么?
在“GRIDALES1”和"<=EoMonth("
而不是Application.WorksheetFunction.EoMonth(grid_date, 0)
中设置sumif Application.WorksheetFunction.EoMonth(grid_date, 0)
?)1的目标范围是“硬编码的”,sunifs的结果是double,它应该是:
Function ASALES(rev_date As Date, grid_date As Date) As Double Dim Final_Price As Range Dim Team As Range Dim First_PD As Range Application.Volatile (True) Set Final_Price = Sheets("Sheet1").Range("H5:$H11") Set Team = Sheets("Sheet1").Range("E5:E11") Set First_PD = Sheets("Sheet1").Range("F5:F11") ASALES = Application.WorksheetFunction.SumIfs( _ Final_Price _ , Team, "<>9" _ , First_PD, ">=" & rev_date _ , First_PD, "<=" & Application.WorksheetFunction.EoMonth(grid_date, 0)) End Function
您的输出应该是函数名称。 将GRIDSALES1更改为GRIDSALES。