让客户想要“落后”他们的Excel应用,这样VBA代码将无法在120d中运行。他们明白,除了检查今天的日期与存储的第一个使用日期之外,任何解决方案都不会100%有效,但任何想法都会有效吗?
答案 0 :(得分:0)
您希望比较两个日期之间的差异,其中一个日期是任意日期"启动"日期和第二个日期是今天。
最简单的方法是使用DateDiff(https://www.techonthenet.com/excel/formulas/datediff.php)函数:
DateDiff("d","5/1/2018",Date())
这将返回一个代表天数的数字(" d" ...如果您希望答案可以在几个月内使用" m"等等)这两个日期。自从我在5/17/18这样做以来,我的Date()函数返回5/17/18,这取得了两者之间的差异,推出了16。
所以代码应该是:
Dim dif As Single
Dim launch As String
launch = "1/1/2018" 'arbitrary start date
dif = DateDiff("d", launch, Date())
If dif > 120 Then 'on May 17th, this number is 136
MsgBox "Your VBA is out of date"
Exit Sub
Else
'Do the rest of your code
End If