Excel表格读取下午13.40,但vba读取0.569444
在单元格B4中我们完全按照输入的13.40 PM运行,我的代码将其与当前时间进行比较,看看我们是否迟到了'sh is a variable pointing at my sheet
'dt is a date type
dtstart = TimeValue(sh.Range("B" & r.row).Value)
dbInterval = dtOff - Time
我从timevalue()得到一个类型不匹配错误,因为我相信它需要一个字符串。
Cstr(mycell)
没有帮助
这个数字对我来说看起来不合逻辑。
我被困在工作表中的数据,被另一个脚本放在那里
任何人吗?
答案 0 :(得分:1)
正如评论0.569444
中提到的那样已经 TimeValue
。您可以省略所有其他代码,只需执行此操作:
dtstart = Range("B" & r.row).Value
日期类型作为Double
存储在Excel和VBA内部。它们可以互换使用。
答案 1 :(得分:0)
如果您想在Cell B4中获取TimeValue,请使用以下行:
dtstart = TimeValue(Format(sh.Range("B" & r.Row).Value, "hh:mm"))
出于调试目的,请使用以下行:
Debug.Print dtstart
立即窗口中的结果是13:40:00