Excel时间值比较

Excel时间值比较,excel,vba,Excel,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之间的值,公式单元格(#)不起作用。Value=TimeValue(“00:33:00”)。即使单元格内容为00:33:00

我有一个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之间的值,公式单元格(#)不起作用。Value=TimeValue(“00:33:00”)。即使单元格内容为00:33:00,if条件也不会返回真值。问题是什么。我试着使用#12:33:00am#等,它也不起作用。有什么问题吗?(我将单元格格式化为时间格式)。

您需要首先通过转换为double将其转换为基本类型

然后是在vba中比较浮点数的问题。已经有很多话题了,我不会白费力气的。您可以使用round或简单地转换为字符串来完成这项工作

If CStr(CDbl(Sheet1.Cells(1, 1).Value)) = CStr(CDbl(TimeValue("00:33:00"))) Then
进一步阅读浮点错误:

您首先需要通过转换为double来转换为其基本类型

然后是在vba中比较浮点数的问题。已经有很多话题了,我不会白费力气的。您可以使用round或简单地转换为字符串来完成这项工作

If CStr(CDbl(Sheet1.Cells(1, 1).Value)) = CStr(CDbl(TimeValue("00:33:00"))) Then
进一步阅读浮点错误:

谢谢,我会查看链接。我也会考虑使用小时,分钟等功能谢谢你我会检查链接。我也会考虑使用小时、分钟等功能。