我正在解析和分析大型数据集,并尝试突出显示共享相同时间的行。这是一个较大的宏的一小部分,是目前唯一不起作用的部分(其余部分工作得相当好!)我试图将每次比较它之前和之后的时间以便捕获所有事件。如果我只是比较之前的时间,或者只是之后的时间,你可能会看到它会错过很多值。代码:
Integer userID;
Integer postID;
ResultSetMetaData rsMeta = rs.getMetaData();
if (rs.next()) {
for (int i = 1; i <= rsMeta.getColumnCount(); i++) {
String table = rsMeta.getTableName(i);
String col = rsMeta.getColumnName(i);
if(table.equals("users") && col.equals("id")){
userID = rs.getInt(i);
continue;
}
if(table.equals("posts") && col.equals("id")) {
userID = rs.getInt(i);
continue;
}
}
}
示例数据:
'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
答案 0 :(得分:1)
至于它为什么不起作用,时间很棘手,它们本质上是一个格式化的数字。例如(0.598483796296296至0.598483796296300)将格式化为14:21:49。这就是为什么你的方式有时可以工作,有时不工作。
要解决此问题,请将.text
添加到三个范围的末尾:
ActiveSheet.Range("B" & row_number).Text
这样您只需比较格式化文本。
最好不要使用activecell。使用:
Rows(row_number).entirerow. Interior.colorindex = 8
答案 1 :(得分:0)
过去,我不得不多次这样做。我总是使用这里找到的代码:
答案 2 :(得分:0)