DateDiff("m", "06/14/1982", "09,01,1982") = 3
A1 = 06/14/1982
A2 = 09/01/1982
=DATEDIF(A1, A2, "m") = 2
如果我需要
DateDiff
像 DATEDIF
一样向下舍入确实,我该如何做到这一点?
最佳答案
您可以使用 Evaluate
VBA 中的函数。但是,以这种方式处理日期时,您需要确保公式看到的值是与日期对应的数字,而不是 VBA Date 数据类型。如果日期存储在工作表单元格中,您将执行以下操作:
Evaluate("DATEDIF(" & [a1].Value2 & "," & [a2].Value2 & ", ""m"")")
如果日期作为日期存储在 VBA 变量中,则:
Evaluate("DATEDIF(" & CDbl(DT1) & "," & CDbl(DT2) & ", ""m"")")
关于vba - 使 VBA DateDiff 的行为和 Excel DATEDIF 一样向下舍入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43149954/