有趣!你会检查单元格是否包含日期吗?

2022-06-04 09:59:06 浏览数 (1)

标签:VBA

在Excel中,你能检查出某单元格中包含的是日期吗?

大家知道,Excel将日期存储为数字,只是显示的是日期格式,例如,Excel单元格中显示的是2022年5月10日,但实际上存储的是数字44691。

Excel将1900年1月1日视为1,其它日期与1900年1月1日之间的差值加上1就是该日期的序列号。因此,2022年5月10日是44691。

这样,如果在两个不同的单元格中分别输入44691和2022-5-10,Excel没有内置功能用来区分这两个单元格。

Excel无法判断输入的值是否为日期,可以用2022年5月10日来执行所有的日期操作,也可以使用44691来执行。

虽然有很多可能的解决办法,但都不完美。唯一的方法是使用VBA来实现。相当简单,因为只需要3行代码。

Function IsDate(rngCell) As Boolean

IsDate = VBA.IsDate(rngCell)

End Function

现在,在工作表中,可以像使用Excel内置函数一样,使用IsDate函数来判断某单元格中是否是日期。如要是,返回TRUE,否则返回FALSE。如下图1所示。

图1

欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。

vba

0 人点赞