我找到了一个声明,比较两个日期以查看一个日期是否大于另一个:
If Format(Date, "m/d/yyyy") > #1/1/2000# Then MsgBox "Okay"
基本上说,如果今天晚于2000年1月1日,则会弹出一个消息框。
如果我将日期放在代码中(即,1/1/2000),这很好,但我想在运行时从用户那里得到一个日期,但是无法弄清楚如何合并在上面的陈述中。
如果我提供一个TextBox供用户输入日期,我用#符号包围了文本:
If MyDate > "#" & Text1.Text & "#" then
这不起作用。我已经尝试将文本转换为Double,Integer和Long。我不知道如何使用带有用户输入的封闭#符号。
提前感谢您的帮助。
答案 0 :(得分:1)
使用CDate(Text1.Text)
将字符串转换为日期。实际上,您需要进行一些检查以确保输入的值是有效日期,类似于:
Dim myDate As Date
If IsDate(Text1.Text) Then
MyDate = CDate(Text1.Text)
Else
'Indicate the error to the user
End If
#
个字符是“日期引号”,如果愿意的话 - 它们与日期文字的用途相同,而"
用于分隔字符串文字。您不能只将#
连接到一个值以使其成为日期。