比较和突出显示时间值

我正在parsing和分析大型数据集,并试图突出显示共享同一时间的行。 这是一个较大的macros的一小部分,是目前唯一不工作(其余的工作相当好!)我试图比较每一次的时间前,它之后,以捕获所有事件。 如果我只比较以前的时间,或者比较之后的时间,那么你可能会看到这将会错过很多的价值。 码:

'Hightlights trade structures via time Do DoEvents row_number = row_number + 1 'row_color_tester is a proxy for testing trade time "structure principle" row_color_tester = row_number tradeTime = ActiveSheet.Range("B" & row_number) If tradeTime = Range("B" & (row_color_tester + 1)) Or tradeTime = Range("B" & (row_color_tester - 1)) Then ActiveCell.EntireRow.Interior.ColorIndex = 8 End If Loop Until row_number = lastRow + 1 

样本数据:

 16:01:30 15:37:56 15:08:38 15:08:38 14:40:56 14:29:36 14:28:10 14:28:10 14:23:48 14:21:49 14:21:49 14:21:49 14:21:49 14:21:49 14:21:49 14:20:01 14:20:01 14:20:01 14:20:01 14:20:01 14:20:01 14:19:52 14:19:52 14:19:52 14:19:52 14:19:52 14:19:52 14:19:43 14:18:57 14:18:43 14:18:34 14:17:50 14:17:50 14:17:46 14:17:46 14:17:13 14:16:50 14:16:50 14:16:50 14:16:50 14:16:50 14:16:50 14:14:59 14:14:59 14:14:59 14:14:59 14:14:59 14:14:59 14:12:38 14:11:27 14:10:11 14:10:11 14:07:17 13:56:46 13:55:16 13:55:16 13:55:16 13:51:59 13:51:59 13:51:59 13:51:59 13:51:59 13:51:59 13:51:39 13:51:39 13:51:39 13:51:39 13:51:39 13:51:39 13:50:45 13:50:45 13:50:45 13:50:45 13:50:45 13:50:45 13:46:49 13:46:49 13:45:12 13:45:12 13:44:31 13:44:31 13:44:31 13:44:31 13:44:31 13:44:31 13:43:32 13:43:32 13:43:32 13:43:32 13:43:32 13:43:32 13:41:58 13:35:46 13:35:46 13:35:46 13:35:46 13:35:46 13:35:46 13:35:25 13:35:25 13:35:19 13:35:19 13:35:07 13:35:07 13:35:07 13:35:07 13:35:07 13:35:07 13:27:57 13:27:57 13:20:40 13:20:40 

至于为什么它不工作,时间是棘手的,他们本质上是一个格式化的数字。 例如(0.598483796296296到0.598483796296300)将格式化为14:21:49。 这就是为什么你有的方式有时会工作,有时不。

修复它添加.text到三个范围的结尾:

 ActiveSheet.Range("B" & row_number).Text 

这样你只是比较格式化文本。

另外最好不要使用activecell。 使用:

 Rows(row_number).entirerow. Interior.colorindex = 8 

过去我不得不多次这样做。 我总是使用在这里find的代码:

http://www.cpearson.com/excel/findall.aspx

假设时间从第2行和第1列开始,一个简单的解决scheme可以通过以下条件格式来实现:

在这里输入图像说明

对于以下范围: 在这里输入图像说明