Excel VBA – 有条件突出显示 – 突出显示下一个最高值

我有代码,需要3对值,突出显示最高(或最低值),然后应该突出显示下一个最高(或最低值),提供第二轮对2匹配。

虽然强调获胜者或前3对的代码可能会更清洁一些(我的水平高于平均水平,但也许有一种方法可以select最高的价值,而不是高于和低于平均水平的逻辑。 ),我不能得到第二部分的工作。 我按照制定排名前十的逻辑,为我提供了第四个价值。 我没有得到任何错误,当我debugging并尝试打印一个值时,我什么也得不到。

'Highlight winners of first round Range("C4:C6").Select Selection.FormatConditions.AddAboveAverage Selection.FormatConditions(1).AboveBelow = xlAboveAverage Selection.FormatConditions(1).Interior.Color = 5296274 Range("C9:C11").Select Selection.FormatConditions.AddAboveAverage Selection.FormatConditions(1).AboveBelow = xlAboveAverage Selection.FormatConditions(1).Interior.Color = 5296274 Range("C14:C16").Select Selection.FormatConditions.AddAboveAverage Selection.FormatConditions(1).AboveBelow = xlAboveAverage Selection.FormatConditions(1).Interior.Color = 5296274 'Highlight highest losing analyst Range("C4:C16").Select If Selection.FormatConditions(1).Interior.Color <> 5296274 Then Selection.FormatConditions.AddTop10 With Selection.FormatConditions .TopBottom = xlTop10Top .Rank = 10 End With With Selection.FormatConditions.Interior .Color = 10092492 End With End If 

在这里输入图像说明

关于我的问题的任何想法?

编辑:添加了一个截图,以显示脚本运行后的文件。 每个比赛的胜者都显示出来,但是,由于下一轮也是正面的,所以我需要“第四”位的人也被突出显示,在这种情况下,人B

我不确定你只能通过条件格式来完成你想要的操作。 在这个例子中我会避开它们,只是使用常规的vba。 在这个子集中将'rng'设置为每个集合的第一个单元格。 根据我们的讨论,最低的价值是每对的赢家。 然后检查每个输家的价值,看它是否低于目前为止所看到的最低价值; 如果是,那么'minval'variables用这个值更新,'mincell'的指针也被更新。

 Sub OrgHighestAndNext1() Dim rng As Range: Set rng = [C4,C9,C14] Range("C" & rng.Row & ":C" & rng.Areas(3).Rows.Row + 2).Interior.ColorIndex = xlColorIndexNone Dim cell As Range, scell As Range, mincell As Range Dim minval As Double: minval = 9999.9 For Each cell In rng If cell.Value2 < cell.Offset(2, 0).Value2 Then cell.Interior.Color = 5296274 Set scell = cell.Offset(2, 0).Cells Else cell.Offset(2, 0).Interior.Color = 5296274 Set scell = cell.Cells End If If scell.Value2 < minval Then Set mincell = scell minval = scell.Value2 End If Next mincell.Interior.Color = 10092492 End Sub 

获胜者(最低)的价值被赋予深绿色的背景。 失败者背景保持不变(如果工作表是以这种方式开始的,则为白色)。 失败者的最低点(经过处理后的“最小单元格”点)被赋予浅绿色的颜色。

根据排名从低到高的sorting来说,排名是这样的:2,3,5,6,4,1所以排名第六的排名是纯粹依靠时间的。 但是如果你根据赢家的时间排名第一,然后输家的排名是这样的:2,3,6(这些是赢家)和5,4,1(输家)。 你所追求的是第二种types的排名 – 你并不关心赢家,而是希望失败者按照最低的时间排名,这样你就可以find最佳(最低)时间的失败者。