使VBA DateDif像Excel DATEDIFF一样运行
DateDiff("m", "06/14/1982", "09,01,1982") = 3 A1 = 06/14/1982 A2 = 09/01/1982 =DATEDIF(A1, A2, "m") = 2
如果我需要DateDiff
像DATEDIF
一样向下滚动 ,我该怎么做?
您可以使用VBA中的Evaluate
function。 但是,以这种方式处理date时,需要确保公式所看到的值是与date对应的数字,而不是VBAdate数据types。 如果date存储在工作表单元格中,则可以执行如下操作:
Evaluate("DATEDIF(" & [a1].Value2 & "," & [a2].Value2 & ", ""m"")")
如果date存储为VBAvariables中的date,则:
Evaluate("DATEDIF(" & CDbl(DT1) & "," & CDbl(DT2) & ", ""m"")")
= Application.WorksheetFunction.RoundDown(DateDiff("d", a1, a2) / 30, 0)