【发布时间】:2022-06-15 01:24:40
【问题描述】:
所以我正在研究一个简单的 VBA 函数。因此,对于许多财务报告,报告并不总是在 12 月 31 日结束,有时它们会在 6 月或 3 月或其他任何时间结束。我正在尝试处理的函数采用年终日期并返回当前日期与之后的天数(前瞻性,所以如果年终日期是昨天,那么函数将是 364 天,而不是比1),然后除以365。我在下面进行了尝试,但由于某种原因,它总是返回1。通过一些跟踪,我相信它与DateDiff有关,但从我所看到的我认为我' m 使用正确的语法?不知道怎么回事,谁能帮忙?
Function dateCalc(ye As Date)
Dim today As Date
Dim x As Integer
today = Date
If ye < today Then
x = (365 - DateDiff("d", ye, today)) / 365
ElseIf ye > today Then
x = DateDiff("d", ye, today) / 365
Else
x = 0
End If
dateCalc = x
End Function
【问题讨论】:
-
不要使用整数(DI x As Integer),因为您需要逗号后面的数字。我建议加倍。