vba sumifs对日期感到困惑,四月错误的结果
||
我正在关注另一个“堆栈溢出”问题,这非常启发人,但是当我对结果进行合理性检查时,我在4月得到了这种特殊的异常行为,任何
rev_date
4月的结果都是0。 rev_date
和grid_date
间隔,但是发生相同的事情,我能怪系统日期配置吗?我想念什么?
恕我直言,我宁愿使用in-excel公式代替UDF,但是这种奇怪的结果在我的脑海里却很痒。
使用此UDF:
Public Function GRIDSALES(rev_date As Date, grid_date As Date) As Double
Dim Team As Range
Dim First_PD As Range
Dim PAmount1 As Range
Application.Volatile (True)
Set PAmount1 = Sheets(\"Sheet1\").Range(\"$F6:$F12\")
Set First_PD = Sheets(\"Sheet1\").Range(\"$E6:$E12\")
Set Team = Sheets(\"Sheet1\").Range(\"$D6:$D12\")
GRIDSALES = Application.WorksheetFunction.SumIfs( _
PAmount1 _
, Team, \"<>9\" _
, First_PD, \">=\" & Format$(rev_date, \"dd mmm yyyy\") _
, First_PD, \"<=\" & Format$(Application.WorksheetFunction.EoMonth(grid_date, 0), \"dd mmm yyyy\"))
End Function
没有找到相关结果
已邀请:
2 个回复
久坡
净爽
反斜杠是转义字符。 作为证明,请尝试以下操作:在B2中输入一个日期,例如20/6/2011(法语样式),然后从VBA中运行代码
Excel将返回:
CQFD ;-)