Setting Colors Using Other Than ColorIndex?

P

PeteCresswell

I'm in MS Access VBA and want to format a totals break line

e.g.
-----------------------------------------------------------------------------------------
18140 With .Range(.Cells(theBreakRowNum, mColNum_FirstData), .Cells
(theBreakRowNum, mColNum_LastData))
18141 .Interior.ColorIndex = theBackColor
18142 .Borders(xlEdgeTop).Weight = xlMedium
18143 .Borders(xlEdgeBottom).Weight = xlMedium
18149 End With
-----------------------------------------------------------------------------------------

Right now, I'm passing an Excel "Color Index" like 10 for bright red
or 15 for light grey.

But now I'd like to add a color picker so the user can specify which
colors to use for which totals.

Problem is that my implementation of said color picker returns numbers
like 255 for bright red or 16119285 for light grey.

Question: Is there some other property I can set
besides .Interior.ColorIndex that will accept those color numbers and
render accordingly?
 
P

Patrick Molloy

use .Interior.Color

sample

Option Explicit
Enum eCOls
LightGrey = 16119285
BrightRed = 16119285
End Enum
Sub test()
With .Range(.Cells(theBreakRowNum, mColNum_FirstData),
..Cells(theBreakRowNum, mColNum_LastData))
.Interior.Color = eCOls.LightGrey
.Borders(xlEdgeTop).Weight = xlMedium
.Borders(xlEdgeBottom).Weight = xlMedium
End With

End Sub
 
P

(PeteCresswell)

Per Patrick Molloy:
use .Interior.Color

sample

Option Explicit
Enum eCOls
LightGrey = 16119285
BrightRed = 1611928

Thanks.... Also for the "Enum" syntax.

I never got into using Enums - using constants like
"gExcelColor_Blue", "gExcelColor_Red"....

An Enum for "ExcelColor" makes a lot more sense and, I'm
assuming, brings AutoCompletion into the picture.
 
Top