excel vba比较时间的方法
time>"09:00:00"time>timevalue("09:00:00")time>Cdate("09:00:00")以上三种表示法有任何区别吗?我没看出来,那么...
time>"09:00:00"
time>timevalue("09:00:00")
time>Cdate("09:00:00")
以上三种表示法有任何区别吗?我没看出来,那么比较的时候加一个timevalue,Cdate是不是多余了? 展开
time>timevalue("09:00:00")
time>Cdate("09:00:00")
以上三种表示法有任何区别吗?我没看出来,那么比较的时候加一个timevalue,Cdate是不是多余了? 展开
2个回答
展开全部
亲,区别大了~~~~~
首先要搞清楚你的time是什么类型?
如果time是字符型,才能这么比较:time>"09:00:00",而且这个比较实际是字符串的比较,比的是内部code码,不是真正的时间。
如果time是时间类型,或者数值类型,才能用:time>timevalue("09:00:00")。这个比较的是时间,只不过转为了对应的时间数值,再比较。
time>Cdate("09:00:00"),神马意思??CDATE是把字符串转换成日期,咋和时间扯上滴?
首先要搞清楚你的time是什么类型?
如果time是字符型,才能这么比较:time>"09:00:00",而且这个比较实际是字符串的比较,比的是内部code码,不是真正的时间。
如果time是时间类型,或者数值类型,才能用:time>timevalue("09:00:00")。这个比较的是时间,只不过转为了对应的时间数值,再比较。
time>Cdate("09:00:00"),神马意思??CDATE是把字符串转换成日期,咋和时间扯上滴?
更多追问追答
追问
time就是Excel vba 函数啊,返回的是时间类型吧.
Cdate("09:00:00")这种用法好像见得比较多哎
time>"09:00:00"这个写法,我实际测试了,好像没有问题啊
追答
Cdate("09:00:00"),你是对的。可以转换时间。
你这里的time是函数,我以为是个时间变量的替代写法,没理解清楚。
最后,time>"09:00:00",这个还是比较的字符串,您可以试试time>"123",time>"abc",一样可以得到结果。不是说不可以比较,而是比较的原理不同。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询