VBA IsDate |如何使用Excel VBA IsDate函数?
Excel VBA IsDate函数
IsDate 是VBA函数,用于测试给定值是否为日期。如果提供的值或范围参考值是日期值,则结果将为“ TRUE”,如果值不是日期值,则结果将为“ FALSE”。因此,结果是BOOLEAN值,即TRUE或FALSE。
下面是IsDate函数的语法。
表达 就是什么,我们正在尝试测试的值是否是日期。
如何使用VBA IsDate函数?
您可以在此处下载此VBA IsDate Excel模板– VBA IsDate Excel模板我们将测试值“ 5.01.19”是否为日期值。
为此,首先启动excel宏过程。
代码:
子IsDate_Example1()结束子
定义变量以存储日期值,由于该值将是日期值,因此只能将数据类型指定为“日期”。
代码:
Sub IsDate_Example1()将MyDate设置为日期结束子
现在将“ 5.1.19”的值分配给变量“ MyDate”。
代码:
Sub IsDate_Example1()将MyDate设为日期MyDate =“ 5.1.19”结束Sub
立即在VBA中打开消息框
代码:
Sub IsDate_Example1()Dim MyDate As Date MyDate =“ 5.1.19” MsgBox(End Sub
在此消息框中,我们将使用“ IsDate”功能测试变量“ MyDate”提供的日期值是否是日期。首先,打开“ IsDate”功能。
代码:
Sub IsDate_Example1()将MyDate设为日期MyDate =“ 5.1.19” MsgBox IsDate(End Sub
表达 是我们正在测试以查找是否为日期的值。由于我们已经将值存储到变量“ MyDate”中,因此仅提供变量名称。
代码:
Sub IsDate_Example1()将MyDate设为日期MyDate =“ 5.1.19” MsgBox IsDate(MyDate)End Sub
好的,现在运行代码,然后在消息框中查看我们得到了什么。
哇!!!结果是 真的.
您一定想知道它如何将值“ 5.1.19”识别为日期。
之所以将结果返回为TRUE的原因是因为当您查看给定值时 “5.1.19” 它是日期的简短形式 “05.01.2019” 因此excel足以将其识别为日期,因此结果为TRUE。
现在来了一件棘手的事情,为了保持相同的价值,我们将把一年的简短形式从19更改为2019。
代码:
Sub IsDate_Example1()Dim MyDate As String MyDate =“ 5.1.2019” MsgBox IsDate(MyDate)End Sub
现在运行代码并查看结果。
这次它返回的结果为 错误的 因为日期的“日期和月份”部分为简写形式,而年份部分为“ YYYY”的完整形式,所以ISDATE无法识别它具有日期,因此结果为FALSE。
现在,看下面的代码。
代码:
Sub IsDate_Example1()Dim MyDate As String MyDate =“ 05.01.2019” MsgBox IsDate(MyDate)End Sub
我已经提到了使用0的全天和全月格式,让我们运行代码并查看IsDate函数的结果。
这一次我们也得到了结果 错误的.
现在,按如下所示更改代码。
代码:
Sub IsDate_Example1()Dim MyDate As String MyDate =“ 05/01/2019” MsgBox IsDate(MyDate)End Sub
代替点(。)作为分隔符,我们输入了正斜杠(/)作为分隔符。现在运行代码并查看结果。
这次我们得到的结果是 真的.
这就是我在文章开头告诉您“日期”是一个敏感问题的原因。
现在,我要做的是将日期和时间合并在一起。
代码:
Sub IsDate_Example1()Dim MyDate As String MyDate =“ 05/01/2019 15:26:24” MsgBox IsDate(MyDate)End Sub
我在上面添加的是日期前面的“ 15:26:24”的时间部分。现在运行代码并查看结果。
这一次我们也得到了结果 真的 因为Excel中的DATE&TIME是相同的东西,并存储为序列号。整数表示日期部分,小数位表示时间部分。
这里要记住的事情
- IsDate返回布尔类型结果,即TRUE或FALSE。
- IsDate仅作为VBA功能提供。
- 仅将有效的格式化日期视为日期,否则它将被视为文本值并将结果返回为FALSE。