Show cells with formulas without permanently changing the cell
Peter first of all thanks a lot for your time and effort to help me.
I have tried to think of other properties to change i.e. I tried to add a
comment on every formula cell saying "This is a Formula", since I seldom use
comments on formula cells. I couldn't get that to work either (AddComment
etc.)
Btw, it IS possible to add and subtract a value such as 30000 to the
..Interior.Color property. It is probably dealt as a hex number. All I can
tell you is that Excel 2003 allows me to change between i.e. 7 and 30007, and
it produces different color shades. That is why I thought of "shifting" all
..Color values up and then down again. This method would leave the original
color intact after 2 runs (on/off).
What I don't know is how to process the cells in the
ActiveSheet.Cells.SpecialCells(xlCellTypeFormulas) selection one at a time,
querying its .Interior.Color value, changing it and then proceeding with the
next one. If a single action is performed on all cells at once I believe it
is impossible.
"Peter T" wrote:
Is there some other property you can change, eg pattern, font bold, .size
etc
In your OP you mentioned changing the colour index by some factor (not
300000 as colour index's are only in the region 1-56 and two -ve numbers),
if you have multiple format colours how would you differentiate which are
original & which temporarily changed.
Something along the lines of your objective is very doable but I can only
suggest consider the logic as to how you want to do that whilst retaining
the possibility to reset your original formats.
Regards,
Peter T
"DoctorG" wrote in message
...
Because formula cells might have different background colors...
"Peter T" wrote:
Did you actually try the example.
If you want background fill change
vFntClrIdx = rng.Font.ColorIndex
to
vFntClrIdx = rng.Interior.ColorIndex
and xlAutomatic to xlNone
I don't understand why you want to process each cell individually
Regards,
Peter T
"DoctorG" wrote in message
...
Peter I believe your approach assumes a single Font Color for the
whole
range. I am asking for a way to change the background color (it is
easier
to
spot) back and forth regardless if it is the same for all cells or
not.
That is why I am looking for a way to change each cell color
individually.
Is this possible?
"Peter T" wrote:
This doesn't incorporate your flag so adjust if you need that.
Select either a single cell to get formulas in whole sheet or a
selection of
cells.
Sub ToggleFormulaColour()
Dim rng As Range, vFntClrIdx
On Error Resume Next
Set rng = Selection.SpecialCells(xlCellTypeFormulas, 23)
On Error GoTo errH
If rng Is Nothing Then
MsgBox "No Formulas"
Else
vFntClrIdx = rng.Font.ColorIndex
If IsNull(vFntClrIdx) Then vFntClrIdx = -1
If vFntClrIdx 0 Then
vFntClrIdx = xlAutomatic
Else
vFntClrIdx = 5 'blue in a default palette
End If
rng.Font.ColorIndex = vFntClrIdx
End If
errH:
End Sub
Note SpecialCells in VBA fails if a little over 8000 discontiguous
areas
are
involved.
Also try Ctrl-`¬¦ the key under Esc.
Regards,
Peter T
"DoctorG" wrote in message
...
I want to create an On/Off button that will temporarily show which
cells
contain formulas.
If someone knows a better way pls say so.
I thought of adding and then subtracting a fixed number from the
Interior.color property but I don't know how to retrieve the
current
value.
rngFormulas.Select
If flag = False Then
With Selection.Interior
.ColorIndex = ????? + 300000
End With
flag = True
Else
With Selection.Interior
.ColorIndex = ????? - 300000
End With
flag = False
End If
|