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