判断date类型是否为空_VBA中该怎么判断数据类型?

我的目标:让中国的大学生走出校门的那一刻就已经具备这些office技能,让职场人士能高效使用office为其服务。支持我,也为自己加油!

在Excel中有很多的IS类函数可以判断数据类型,那在VBA中该如何判断数据类型呢? 比如:

d17b1394057a2386325de9a95734e7a6.gif

当然,可以直接在VBA中利用工作函数判断,但比如要判断一个数据是否是日期,工作表中好像没有此类函数可以直接判断,但VBA中却有函数可以直接判断。有一些是VBA中也没有直接的函数可以判断的,比如时间,那又该怎么办呢? 上面的案例代码如下:
Sub CellType()Select Case True    Case IsEmpty(Selection)        MsgBox "Blank"        Exit Sub    Case Application.IsText(Selection)        MsgBox "Text"        Exit Sub    Case Application.IsLogical(Selection)        MsgBox "Logical"        Exit Sub    Case Application.IsErr(Selection)        MsgBox "Error"        Exit Sub    Case IsDate(Selection)        MsgBox "Date"        Exit Sub    Case InStr(1, Selection.Text, ":") <> 0        MsgBox "Time"        Exit Sub    Case IsNumeric(Selection)        MsgBox "Number"        Exit SubEnd SelectEnd Sub
1、判断数据是否为空,很简单,直接用VBA函数IsEmpty即可。 2、判断数据是否为文本可以用工作表函数IsText。 3、判断数据是否为逻辑值可以用工作表函数IsLogical。 4、判断数据是否为错误值可以用工作表函数IsErr。 5、判断数据是否为日期可以用VBA函数IsDate。 6、判断数据是否为时间呢?这个稍微复杂点,可用通过在数据中查找是否存在“:”而确定是否为时间。 但是,文本中有可能也有冒号,日期中也有可能有冒号,所以你首先要排除这个数据肯定不是文本型数据,也不是日期型数据,然后才能通过在数据中查找冒号判断是否为时间。大家可以把上面代码中判断文本或日期的代码段放到判断时间的代码段后面,再测验下结果,就会明白此逻辑。 另外,特别值注意的是:Range对象的Value属性和Text属性有什么区别呢?举了个例子,A1中为时间 1:00,大家可以测验下,两个属性的结果有什么不同。

本节的分享就到这里,鹏哥祝大家每天都有进步。

想学习更多,请在电脑端打开网址: www.mihong.top  

ad57b6036794118b0ee6f17f8085d176.gif

鼓励一下,赞完再走

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值