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。