如何在Excel VBA中获得两个日期时间之间的随机日期时间?
我试过了
worksheetFunction.Randbetween(time1, time2)
但是,仅提供不小时,分钟和秒的时间(尽管time1
与time2
被包括小时,分钟和秒)
我还尝试了以下代码,其中将tmp声明为字符串。
tmp = DateDiff("s", time1, time2) [to get the seconds]
tmp = Int((tmp +1) * Rnd) [to get a random number inbetween the DateDiff]
tmp = tmp + CDbl(time1)
但这也行不通...
以下代码可以解决问题:
worksheetFunction.Randbetween(time1, time2) + Rnd()
Rnd()将生成一个介于0和1之间的值,并且时间以一天的一部分存储
您也可以避免使用第一部分
time1+Rnd()*(time2-time1+1)
删除+1
,如果你想时间2 00:00:00'是上限,或者两者time1
并time2
有日期时间,没有日期
在同时使用Randomize
两个版本之前,还应该使用statement。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句