【发布时间】:2019-10-01 00:30:51
【问题描述】:
在计算一个人的年龄时,宏似乎没有考虑天数。
Sub alcohol_test()
Dim strBirthday As Date
strBirthday = CDate(InputBox("Input date of birth to be verified: ", "Date of Birth"))
If DateDiff("yyyy", strBirthday, Date) < 21 Then MsgBox ("Customer underage, sale of alcohol illegal.") _
Else MsgBox ("Age Confirmed: Alcohol may be sold")
End Sub
【问题讨论】:
-
您不是要求它检查年龄是否超过 21 岁,而是检查他们出生的年份,但今年是否是该年之后的 21 年。
A = "01/04/1998"和Msgbox DateAdd("yyyy", 21, A)和If CDbl(DateAdd("yyyy", 21, A)) < CDbl(Now()) then msgbox "Old Enough" -
在澳大利亚需要 18 岁。