【发布时间】:2021-04-18 22:38:35
【问题描述】:
我是 VBA 的菜鸟,但在社区的帮助下,我正在为我的工作场所整理一个漂亮的电子表格。所以首先,我要感谢大家!
我有一个用户窗体,它有多个组合框和文本框,它们在另一个工作表中填充一个表格。其中一个文本框用于插入日期,也就是说,为了防止输入错误,我使用了以下代码:
If IsDate(boxDate.Value) = False Then
MsgBox "Enter valid date"
Exit Sub
End If
随着代码的继续,文本框会填充这行代码上的单元格:
.Cells(iRow, 5) = CDate(boxDate.Value)
问题是,如果我在文本框中只输入一个数字,比如“1”,我会收到 msgbox 错误并结束 sub。但是,如果我输入“1/121”之类的内容,我没有得到 msgbox,代码会继续运行,并且在包含 CDate(上面发布)的行上出现错误 1004。
我做错了什么? IF 函数将“1/121”识别为日期,但 CDate 不会!
【问题讨论】: