我有代码需要3对值,突出显示最高值(或最低值),然后突出显示下一个最高值(或最低值),以提供第二个一对2对匹配。Excel VBA - 有条件的突出显示 - 突出显示下一个最高值
虽然突出显示获胜者或前3对的代码可能会更清洁一点(我以高于平均水平,但也许有办法让它选择最高的价值而不是上面的逻辑和低于平均水平......),我无法让第二部分工作。我按照制定排名前10的逻辑,这将为我提供第四个价值。我没有得到任何错误,当我调试并尝试打印一个值时,我什么也得不到。
'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 B
是的,我很抱歉,我应该清理更多。有两个值由空白单元格分隔,因此有3个单元格的范围。为了正确理解你的说明,我的目标是突出每场比赛的“胜者”,然后用另一种颜色突出显示“最佳输家”(IE第4号种子) – sbagnato
如何切换它以便代码也可以在“获胜”值最小的地方工作?如果我将第一个大于小于,我会得到3个最低值,但如果我将第二个大于小于,我会在maxcell.interior.color线上得到一个“Object variable not set”错误。如果我将maxcell更改为mincell(并声明它),它不起作用。我错过了什么? – sbagnato
不完全确定你在做什么。如果你切换第一个大于号,你会突出显示每一轮的所有输家。通过这种改变并以最短的时间获得胜利者,您必须首先将maxval设置为类似于999.9的值,然后将第二个值更改为小于号。 – Amorpheuses