Excel VBA:在有效期后禁用代码

时间:2018-05-17 19:50:56

标签: excel-vba vba excel

让客户想要“落后”他们的Excel应用,这样VBA代码将无法在120d中运行。他们明白,除了检查今天的日期与存储的第一个使用日期之外,任何解决方案都不会100%有效,但任何想法都会有效吗?

1 个答案:

答案 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