Excel中的VBA循环不会识别时间

我正在创build一个电子表格,允许用户在特定的15分钟间隔内将事件复制到工作簿中的特定工作表。 时间间隔从午夜到23:45。 该代码适用于复制在6点45分或之前发生的任何事情,但之后的任何事情只是空白。 我已经手动检查了数据,并且在主表单上有确定的事件发生在6:45之后,应该被复制。 数据全部从同一个Oracle表中提取,因此时间格式应该是相同的。

这是一段实际工作的代码:

'Core - Orange 06:45 If ActiveCell.Address = "$AC$6" Then If Range("AC6").Value = 0 Then MsgBox "No Exceptions Reported" Else: Sheets("Exceptions").Range("A4", "H50").Clear Sheets("Core").Select I = 2 X = 4 Do While Sheets("Core").Range("A" & I).Value <> "" If Range("J" & I).Value <= TimeSerial(6, 45, 0) And Range("K" & I).Value > TimeSerial(6, 45, 0) Then Range("A" & I, "H" & I).Select Selection.Copy Sheets("Exceptions").Select Range("A" & X).Select ActiveSheet.Paste I = I + 1 X = X + 1 Sheets("Core").Select Else: Sheets("Exceptions").Select Range("A1").Select I = I + 1 End If Loop End If End If 

这是不工作的代码:

 'Core - Orange 07:00 If ActiveCell.Address = "$AD$6" Then If Range("AD6").Value = 0 Then MsgBox "No Exceptions Reported" Else: Sheets("Exceptions").Range("A4", "H50").Clear Sheets("Core").Select I = 2 X = 4 Do While Sheets("Core").Range("A" & I).Value <> "" If Range("J" & I).Value <= TimeSerial(7, 0, 0) And Range("K" & I).Value > TimeSerial(7, 0, 0) Then Range("A" & I, "H" & I).Select Selection.Copy Sheets("Exceptions").Select Range("A" & X).Select ActiveSheet.Paste I = I + 1 X = X + 1 Sheets("Core").Select Else: Sheets("Exceptions").Select Range("A1").Select I = I + 1 End If Loop End If End If 

这两个代码应该是相同的,除了我更新的初始单元格。 我曾尝试使用不同的时间格式,但似乎没有任何工作。 任何帮助或build议如何通过这将不胜感激。