我有代碼需要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