标签: excel vba excel-vba
我有两个日期字符串,我想循环播放日期的小时数。我尝试了以下方法:
strStart = "15-01-2016 09:00" strEnd = "16-01-2016 15:00" j=0 for i = cdate(strStart) to cdate(strEnd) msgbox(i) j=j+1 next i
我还尝试用cdate()替换for循环中的timevalue()。最后,我希望我的j为30.(第一天15小时,第二天15小时)
cdate()
timevalue()
j
答案 0 :(得分:3)
使用DateAdd - 和DateDiff - 功能:
dateStart = cDate(strStart) dateEnd = cDate(strEnd) j = 0 While DateDiff("h", dateStart, dateEnd) > 0 j=j+1 dateStart = DateAdd("h", 1, dateStart) Wend
这样,您就不必为每个循环创建新的Date,并且您可以轻松访问其他日期格式(天,分钟,年......)
Date