Malcolm,

The fill colour index is not exposed in the OM, and there is no event to tap into.

This question was asked a while back in OzGrid, and I came up with this technique, using the TooltipText and parses it. I have added all colours, I leave it to yoiu to complete

[vba]

Function GetColourIndex()
Dim sText As String
Dim iPos As Long
Dim iColorIndex As Long

sText = CommandBars("Formatting").Controls("&Fill Color").TooltipText
iPos = InStr(sText, "(")
If iPos > 0 Then
sText = Mid(sText, iPos + 1, InStr(sText, ")") - iPos - 1)
Select Case sText
Case "Automatic": iColorIndex = xlColorIndexNone
Case "Black": iColorIndex = 1
Case "White": iColorIndex = 2
Case "Red": iColorIndex = 3
Case "Bright Green": iColorIndex = 4
Case "Blue": iColorIndex = 5
Case "Yellow": iColorIndex = 6
Case "Pink": iColorIndex = 7
Case "Turquoise": iColorIndex = 8
Case "Green": iColorIndex = 10
Case "Dark Blue": iColorIndex = 11
Case "Dark Yellow": iColorIndex = 12
Case "Violet": iColorIndex = 13
Case "Teal": iColorIndex = 14
Case "Gray - 25%": iColorIndex = 15
Case "Gray - 50%": iColorIndex = 16
Case "Light Turquoise": iColorIndex = 20
Case "Dark Red": iColorIndex = 30
Case "Light Blue": iColorIndex = 41
Case "Orange": iColorIndex = 46
Case "Sea Green": iColorIndex = 50
Case "Brown": iColorIndex = 53
End Select
GetColourIndex = iColorIndex
End If
End Function
[/vba]