我是VBA的新手,我正在研究一个模块,用于从电子表格中读取数据并根据电子表格中的日期计算值。我以字符串形式读取变量,然后当前使用CDate将值更改为日期。但是,我只是遇到过DateValue,我想知道这两个函数之间的区别是什么,哪个更好用。
最佳答案
DateValue
将仅返回日期。 CDate
将保留日期和时间:
? DateValue("2014-07-24 15:43:06")
24/07/2014
? CDate("2014-07-24 15:43:06")
24/07/2014 15:43:06
同样,您可以使用
TimeValue
仅返回时间部分:? TimeValue("2014-07-24 15:43:06")
15:43:06
? TimeValue("2014-07-24 15:43:06") > TimeSerial(12, 0, 0)
True
同样,正如吉它掷弹者所说,
DateValue
(和TimeValue
)将仅接受String
参数,而CDate
也可以处理数字。要为数字类型模拟这些功能,请使用CDate(Int(num))
和CDate(num - Int(num))
。关于vba - VBA中DateValue和CDate之间的区别,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24944662/