RGB fill colors

F

Francis Hookham

I am using the macros shown below this post to change the fill colors of
some cells.
Sub Pink, Sub Green, etc., transfer the color code to the main macro,
ChangeSceneColour.

But the colors are too strong and I need to use much softer colours.
(These are cells where I cannot change transparency.)
What I should like to do is define the color in RGB.
I know it wont work but this is what I should like:

Sub PalePink()
FillColour = RGB(255,240,245)
ChangeSceneColour
End Sub

Any suggestions, bearing in mind
a) the workbook will be used by a few friends
b) before I finish the workbook I should like to easily modify the colours.

Francis Hookham

------------------------------------------------------------

Sub Pink()
FillColour = 7
ChangeSceneColour
End Sub

Sub Green()
FillColour = 4
ChangeSceneColour
End Sub

Sub ChangeSceneColour()
Count = ActiveCell.Row
While Cells(Count, 2) <> "Scene:"
Count = Count - 1
Wend
Range(Cells(Count, 2), Cells(Count + 15, 7)). _
Interior.ColorIndex = FillColour
Cells(Count, 3).Interior.ColorIndex = xlNone
Cells(Count, 5).Interior.ColorIndex = xlNone
Cells(Count, 7).Interior.ColorIndex = xlNone
Cells(Count, 3).Select
End Sub
 
P

Peter T

If the colour you want is not available in the palette, customize one of the
56 palette colours (only 40 visible in the cell's drop down Fill & Font
palettes). Eg, customize Colorindex 38, the colour under default pink

ActiveWorkbook.Colors(38) = RGB(255, 240, 245)
or manually see the Color Tab in Tools Options

If you have used the colour in that palette location anywhere in your
workbook the format will change to the newly customized colour (although of
course the format itself does not change).

Now you can either manually apply your new customized colour or do

Dim rng as range
Set rng = Range("C2:D4")
rng.Interior.Colorindex = 38

The palette with any customized colours is stored with the workbook. A
customized palette does not change any application type settings.

Afraid I don't really follow what you are trying to do with your code,
except I notice
Count = ActiveCell.Row
While Cells(Count, 2) <> "Scene:"
Count = Count - 1
Wend

eventually will fail when the variable Count gets to Zero (btw, best not to
use keywords like 'Count' as variable names).

Regards,
Peter T
 
R

reklamo

Hi Francis

The value of the variable FillColor is not transferred to the macro
ChangeSceneColor. You have to define the variable FillColour as public before
any macro.

regards
reklamo
 
F

Francis Hookham

Many thanks Peter (and reklamo)
ActiveWorkbook.Colors(38) = RGB(255, 240, 245)
is just what I wanted.

"While Cells(Count, 2) <> "Scene:"" is ok in this situation - the macro
needs to look for latest occurance of "Scene" in column 2.

Everything is woking as it should now.

Francis
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top