各位大师,VBA语言见分割线下。大致意思是,首先应用IsDate函数检验,如果用户输入的是有效的数据,则返回为“True”的逻辑值。如果不是有效数据类型,例如不是日期,则再一次检验,并显示一个信息高速用户输入的不是有效数据或者根本没有输入。如果用户输入的是日期,那么检验它是否是今天以后的日期,并给用户以提示信息。
问题大概出在13~18行,为什么不管输入什么什么日期,总归显示 varDate & "是有效输入" ,纵然满足条件“Case Is <= Date”,百思不得其解……
-----------------------------------------我是分割线----------------------------------------------------------------
1 Sub GetFutureDate()
2 Dim varDate As Variant
3 varDate = InputBox("输入今天以后的日期", "输入日期", Date + 1)
4 Select Case IsDate(varDate)
5 Case False:
6 Select Case varDate
7 Case ""
8 MsgBox "用户取消了输入或者没有输入"
9 Case Else
10 MsgBox "无效的输入"
11 End Select
12 Case True:
13 Select Case varDate
14 Case Is <= Date
15 MsgBox "无效的日期,必须是今天以后的日期"
16 Case ls > Date
17 MsgBox varDate & "是有效输入"
18 End Select
19 End Select
20 End Sub



雷达卡




京公网安备 11010802022788号







