刚接触VBA不长时间,碰到一个奇怪问题,如下是程序:
Sub inputbox输入日期验证()
Dim varDate As Variant
'显示inputbox对话框-确保输入的日期是明天的日期
varDate = InputBox("输入今天以后的日期:", "输入日期", Date + 1)
'确定用户输入的数据是日期
Select Case IsDate(varDate)
'如果不是日期型数据,则给出一个数据无效或者没有输入数据的提示
Case False:
Select Case varDate
Case ""
MsgBox "用户取消了输入或者没有输入"
Case Else
MsgBox "无效的输入"
End Select
Case True:
'如果输入是日期,则确定该日期是未来的日期
Select Case varDate
Case Is <= Date
MsgBox "无效的日期,必须是今天以后的日期"
Case Is > Date
MsgBox varDate & "是有效输入"
End Select
End Select
End Sub
当输入框我输入2012-1-12时(今天是2012-1-19),程序却走Case Is > Date这个分支,我用单步执行也证明了确实是走了这个分支,哪位大侠可以指点一下为什么会这样呢,谢谢~~~~