Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
Color Palette
I'm working with VB in Excel 2003, and I need more colors than are
offered on the default palette. Does anyone know if and where I might be able to get a broader range of colors and their codes? Here's what my program looks like: Sub ColorTest() 'Changes cell color based on adjacent to the left cell value j = 2 While j < 7 i = 2 While ActiveSheet.Cells(i, j - 1) < "" ActiveSheet.Cells(i, j).Interior.ColorIndex = Switch( _ ActiveSheet.Cells(i, j - 1) < 0.5, 3, _ ActiveSheet.Cells(i, j - 1) < 1, 9, _ ActiveSheet.Cells(i, j - 1) < 1.5, 6, _ ActiveSheet.Cells(i, j - 1) < 2, 12, _ ActiveSheet.Cells(i, j - 1) < 2.5, 4, _ ActiveSheet.Cells(i, j - 1) < 3, 10, _ ActiveSheet.Cells(i, j - 1) < 3.5, 50, _ ActiveSheet.Cells(i, j - 1) < 4, 8, _ ActiveSheet.Cells(i, j - 1) < 4.5, 5, _ ActiveSheet.Cells(i, j - 1) < 5, 11, _ ActiveSheet.Cells(i, j - 1) < 5.5, 7, _ ActiveSheet.Cells(i, j - 1) < 6, 13, _ ActiveSheet.Cells(i, j - 1) < 6.5, 15, _ ActiveSheet.Cells(i, j - 1) < 7, 16) i = i + 1 Wend j = j + 2 Wend End Sub |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
Color Palette
Here is an example assigning the rgb value:
ActiveCell.Interior.Color = RGB(255, 0, 0) HTH--Lonnie M. |
#3
Posted to microsoft.public.excel.programming
|
|||
|
|||
Color Palette
Not the cleanest layout, but great information:
http://www.mvps.org/dmcritchie/excel/colors.htm "Katie" wrote: I'm working with VB in Excel 2003, and I need more colors than are offered on the default palette. Does anyone know if and where I might be able to get a broader range of colors and their codes? Here's what my program looks like: Sub ColorTest() 'Changes cell color based on adjacent to the left cell value j = 2 While j < 7 i = 2 While ActiveSheet.Cells(i, j - 1) < "" ActiveSheet.Cells(i, j).Interior.ColorIndex = Switch( _ ActiveSheet.Cells(i, j - 1) < 0.5, 3, _ ActiveSheet.Cells(i, j - 1) < 1, 9, _ ActiveSheet.Cells(i, j - 1) < 1.5, 6, _ ActiveSheet.Cells(i, j - 1) < 2, 12, _ ActiveSheet.Cells(i, j - 1) < 2.5, 4, _ ActiveSheet.Cells(i, j - 1) < 3, 10, _ ActiveSheet.Cells(i, j - 1) < 3.5, 50, _ ActiveSheet.Cells(i, j - 1) < 4, 8, _ ActiveSheet.Cells(i, j - 1) < 4.5, 5, _ ActiveSheet.Cells(i, j - 1) < 5, 11, _ ActiveSheet.Cells(i, j - 1) < 5.5, 7, _ ActiveSheet.Cells(i, j - 1) < 6, 13, _ ActiveSheet.Cells(i, j - 1) < 6.5, 15, _ ActiveSheet.Cells(i, j - 1) < 7, 16) i = i + 1 Wend j = j + 2 Wend End Sub |
#4
Posted to microsoft.public.excel.programming
|
|||
|
|||
Color Palette
When you say you need "more" or a "broader range" of colours, if you mean
different to the default 46, palette colours can of course be customized to any RGB colour. See the link referred by Jason to David McRitcie's comprehensive page. However if you mean greater quantity, or you don't want to customize the default palette, you can still create 2-3000 pseudo unique colours with the default palette by mixing 2 colours as 25, 50 or 75% pattern shades. It's not easy to find the correct combinations, but if this is what you need send me the RGB colours you require and I'll send you the best matches, ie color-index pairs + shade. (I have an app that colour matches and returns calculated best combinations). Regards, Peter T pmbthornton gmail com "Katie" wrote in message oups.com... I'm working with VB in Excel 2003, and I need more colors than are offered on the default palette. Does anyone know if and where I might be able to get a broader range of colors and their codes? Here's what my program looks like: Sub ColorTest() 'Changes cell color based on adjacent to the left cell value j = 2 While j < 7 i = 2 While ActiveSheet.Cells(i, j - 1) < "" ActiveSheet.Cells(i, j).Interior.ColorIndex = Switch( _ ActiveSheet.Cells(i, j - 1) < 0.5, 3, _ ActiveSheet.Cells(i, j - 1) < 1, 9, _ ActiveSheet.Cells(i, j - 1) < 1.5, 6, _ ActiveSheet.Cells(i, j - 1) < 2, 12, _ ActiveSheet.Cells(i, j - 1) < 2.5, 4, _ ActiveSheet.Cells(i, j - 1) < 3, 10, _ ActiveSheet.Cells(i, j - 1) < 3.5, 50, _ ActiveSheet.Cells(i, j - 1) < 4, 8, _ ActiveSheet.Cells(i, j - 1) < 4.5, 5, _ ActiveSheet.Cells(i, j - 1) < 5, 11, _ ActiveSheet.Cells(i, j - 1) < 5.5, 7, _ ActiveSheet.Cells(i, j - 1) < 6, 13, _ ActiveSheet.Cells(i, j - 1) < 6.5, 15, _ ActiveSheet.Cells(i, j - 1) < 7, 16) i = i + 1 Wend j = j + 2 Wend End Sub |
#5
Posted to microsoft.public.excel.programming
|
|||
|
|||
Color Palette
Thanks everyone. I didn't realize I could just use RGB values. That
really helped!! |
#6
Posted to microsoft.public.excel.programming
|
|||
|
|||
Color Palette
Thanks for the help, everyone. I didn't realize that you could use RGB
values so easily. That made it a lot easier! |
#7
Posted to microsoft.public.excel.programming
|
|||
|
|||
Color Palette
Thanks Peter! I would really appreciate it if you were able to do it.
I also sent a copy to your gmail account. Here are the colors I need: RGB (139, 139, 255) RGB(113, 113, 255) RGB(88, 88, 255) RGB(36, 36, 255) RGB(11, 11, 255) RGB(0, 0, 240) RGB(0, 0, 215) RGB(0, 0, 189) RGB(0, 0, 164) RGB(0, 0, 139) RGB(0, 0, 113) RGB(0, 0, 88) RGB(0, 0, 61) RGB(0, 0, 11) |
#8
Posted to microsoft.public.excel.programming
|
|||
|
|||
Color Palette
Hi Katie,
Try this in a Workbook with a default palette, or at least don't customize any of the colour index's listed in vIntclr or vPatClr arrays. Sub myBlues() Dim vIntclr Dim vPat Dim vPatClr Dim vRGB Dim sh As Shape 'cells with two colours & pattern shades vIntclr = Array(17, 5, 5, 5, 5, 5, 5, 5, 5, 11, 1, 1, 1, 1) vPat = Array(xlGray25, xlGray75, xlGray50, xlGray50, xlSolid, _ xlGray25, xlGray25, xlGray50, xlGray75, xlSolid, _ xlGray75, xlGray50, xlGray25, xlSolid) vPatClr = Array(41, 17, 17, 41, -4105, 49, 11, _ 11, 11, -4105, 11, 11, 11, -4105) For i = 0 To 13 With Cells(i + 1, 2).Interior .ColorIndex = vIntclr(i) .Pattern = vPat(i) .PatternColorIndex = vPatClr(i) End With Next 'compare with original colors vRGB = Array(16747403, 16740721, 16734296, 16720932, 16714507, _ 15728640, 14090240, 12386304, 10747904, 9109504, _ 7405568, 5767168, 3997696, 720896, 10053222, 8421504) For i = 1 To 14 With Cells(i, 1) Set sh = ActiveSheet.Shapes.AddShape(1, _ .Left, .Top, .Width, .Height) sh.Fill.ForeColor.RGB = vRGB(i - 1) End With Next End Sub This Sub formats cells in col-B with 2-colour + pattern shade combinations. For comparison it also adds rectangles in col-A with the your original RGB colours. Not a perfect match but not bad considering the limited palette and using only default colours. If you are not averse to customizing the palette then why not use the chart colours. Sub CustomBlues() Dim i As Long Dim vRGB vRGB = Array(16747403, 16740721, 16734296, 16720932, 16714507, _ 15728640, 14090240, 12386304, 10747904, 9109504, _ 7405568, 5767168, 3997696, 720896, 10053222, 8421504) For i = 0 To 13 ActiveWorkbook.Colors(i + 17) = vRGB(i) Next End Sub The chart colours (colorindex's 17-32) are not visible in the drop down palette but simply- activecell.interior.colorindex = 17 The numbers in vRGB are long colour numbers, same as the RGB colours you posted. Regards, Peter T "Katie" wrote in message oups.com... Thanks Peter! I would really appreciate it if you were able to do it. I also sent a copy to your gmail account. Here are the colors I need: RGB (139, 139, 255) RGB(113, 113, 255) RGB(88, 88, 255) RGB(36, 36, 255) RGB(11, 11, 255) RGB(0, 0, 240) RGB(0, 0, 215) RGB(0, 0, 189) RGB(0, 0, 164) RGB(0, 0, 139) RGB(0, 0, 113) RGB(0, 0, 88) RGB(0, 0, 61) RGB(0, 0, 11) |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
Color Palette | Excel Discussion (Misc queries) | |||
Bring up Color Palette to select color | Excel Discussion (Misc queries) | |||
Color Palette, color disappears | Excel Discussion (Misc queries) | |||
VBA color palette | Excel Programming | |||
Changing color in color palette | Setting up and Configuration of Excel |