Excel时间值比较

时间:2012-10-16 05:32:17

标签: excel excel-vba vba

我有一张excel表,其时间值如

A1 00:01:00

A2 00:02:00

我希望在特定时间使用for循环获取数据。我使用如下的条件公式

if Cells(1,1).Value = TimeValue("00:01:00") Then Do Something

我可以在00:01:00 - 00:30:00之间获取值,但是对于00:30:00 - 00:59:00之间的值,公式为Cells(#)。Value = TimeValue(“00 :33:00“)不起作用。即使单元格内容为00:33:00,if条件也不会返回真值。问题是什么。我尝试使用#12:33:00 AM#等,它也没用。可能是什么问题? (我将单元格格式化为时间格式。)

1 个答案:

答案 0 :(得分:1)

您需要先转换为double,才能转换为基本类型。

然后是在vba中比较浮点数的问题。那里有很多话题我不会鞭打死马。您可以使用round或简单地转换为字符串来完成工作。

If CStr(CDbl(Sheet1.Cells(1, 1).Value)) = CStr(CDbl(TimeValue("00:33:00"))) Then

进一步阅读浮点错误: Link Link2 Link3