If it's a block it's easier to write the code.
If you had 35 non-contiguous, you might
as well do the conditional formatting by hand
This code will format the range with one blow.
It is assumed, that *NO* conditional formatting
has been applied to the range beforehand .
Insert the macro in a general module (<Alt><F11>,
Insert > Module), stay in the worksheet in question
and run the below macro.
The formula (Formula1) must be in the language of the
localized version of Excel, so you must alter the code,
if you have a non-English version.
Sub ThreeLargest()
'Leo Heuser, 25 Feb. 2004
Dim Checkrange As Range
Dim Counter As Long
Set Checkrange = ActiveSheet.Range("C7:AK12")
For Counter = 1 To Checkrange.Columns.Count
Checkrange.Columns(Counter).Select
With Selection
.FormatConditions.Delete
.FormatConditions.Add Type:=xlExpression, _
Formula1:="=OR(" & .Cells(1, 1).Address(rowabsolute:=False,
_
columnabsolute:=False) & "=MAX(" & _
.Address & ")," & .Cells(1, 1).Address(rowabsolute:=False, _
columnabsolute:=False) & "=LARGE(" & _
.Address & ",2)," & .Cells(1, 1).Address(rowabsolute:=False,
_
columnabsolute:=False) & "=LARGE(" & .Address & ",3))"
.FormatConditions(1).Interior.ColorIndex = 8
End With
Next Counter
End Sub