【发布时间】:2017-07-31 14:07:16
【问题描述】:
我想将一列中的日期时间值转换为小时值。现在我用循环尝试了它,但我收到错误说类型不兼容。有什么想法吗?
Dim l As Range
For Each l In Hour.Range("A1", "A" & lngLastRow)
If l.Value <> "" Then l.Value = Hour(l.Value)
Next
【问题讨论】:
-
没有看到数据,我猜你的单元格中有字符串而不是日期。
-
这实际上可能是问题所在,是否可以在小时函数中使用 CDate ?
-
但是当我手动操作时,它实际上与 Hour(A2) 一起工作,我的意思是在 VBA 代码之外,所以我想我确实有正确的格式。
-
我会使用
Hour(CDbl(l.value))公式是否一直有效?它是否在任何一个单元格中返回错误?当代码出错时,l.Value的值是多少? -
是的,它可以手动运行。 Hour(CDbl(l.value)) 不起作用,仍然相同的错误,单元格中的数据如下所示:12.07.2017 21:14:51
标签: vba excel datetime type-conversion