Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
Highlight active cell and de-highlight previous cell
I want to highlight the current cell with a color say gray and set the color
of the last cell I was at back to what it currently was. The code below does not work. It sets the previous cell color to white and if the cell color was something other than white, say green, I lose the color green for the previous cell. Private Sub Worksheet_SelectionChange(ByVal Target As Range) On Error Resume Next Static OldRange As Range 'Set backcolor to whatever, change as needed Target.Interior.ColorIndex = 15 'light gray OldRange.Interior.ColorIndex = xlColorIndexNone Set OldRange = Target End Sub -- Dave B. |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
Highlight active cell and de-highlight previous cell
The problem is that you've got to store the previous ColorIndex. This
creates a new problem if you change the color of the cell you're on. Try the following, based on your code: Private Sub Worksheet_SelectionChange(ByVal Target As Range) On Error Resume Next Static OldRange As Range Static OldIndex As Integer Const mColor = 15 If OldRange.Interior.ColorIndex = mColor Then OldRange.Interior.ColorIndex = OldIndex End If OldIndex = Target.Interior.ColorIndex Set OldRange = Target Target.Interior.ColorIndex = mColor End Sub "dmbuso" wrote: I want to highlight the current cell with a color say gray and set the color of the last cell I was at back to what it currently was. The code below does not work. It sets the previous cell color to white and if the cell color was something other than white, say green, I lose the color green for the previous cell. Private Sub Worksheet_SelectionChange(ByVal Target As Range) On Error Resume Next Static OldRange As Range 'Set backcolor to whatever, change as needed Target.Interior.ColorIndex = 15 'light gray OldRange.Interior.ColorIndex = xlColorIndexNone Set OldRange = Target End Sub -- Dave B. |
#3
Posted to microsoft.public.excel.programming
|
|||
|
|||
Highlight active cell and de-highlight previous cell
Thank you, it worked great.
-- Dave B. "Art" wrote: The problem is that you've got to store the previous ColorIndex. This creates a new problem if you change the color of the cell you're on. Try the following, based on your code: Private Sub Worksheet_SelectionChange(ByVal Target As Range) On Error Resume Next Static OldRange As Range Static OldIndex As Integer Const mColor = 15 If OldRange.Interior.ColorIndex = mColor Then OldRange.Interior.ColorIndex = OldIndex End If OldIndex = Target.Interior.ColorIndex Set OldRange = Target Target.Interior.ColorIndex = mColor End Sub "dmbuso" wrote: I want to highlight the current cell with a color say gray and set the color of the last cell I was at back to what it currently was. The code below does not work. It sets the previous cell color to white and if the cell color was something other than white, say green, I lose the color green for the previous cell. Private Sub Worksheet_SelectionChange(ByVal Target As Range) On Error Resume Next Static OldRange As Range 'Set backcolor to whatever, change as needed Target.Interior.ColorIndex = 15 'light gray OldRange.Interior.ColorIndex = xlColorIndexNone Set OldRange = Target End Sub -- Dave B. |
#4
Posted to microsoft.public.excel.programming
|
|||
|
|||
Highlight active cell and de-highlight previous cell
'McCurdy.Here is something inspired by Don Guillett.
Private Sub Worksheet_selectionChange(ByVal Target As Range) Dim MyRng As Range Set MyRng = Target '.EntireRow Application.EnableEvents = False On Error GoTo end1 Application.Cells.FormatConditions.Delete With MyRng .FormatConditions.Add Type:=xlExpression, Formula1:= _ "=ROW()=ROW(INDIRECT(CELL(""address"")))" '======== 'if you want to do fonts too ' With .FormatConditions(1).Font ' .Bold = True ' .Italic = False ' .ColorIndex = 1 ' End With '========== ..FormatConditions(1).Interior.ColorIndex = 36 End With end1: Application.EnableEvents = True End Sub -- Don Guillett SalesAid Software "dmbuso" wrote in message ... I want to highlight the current cell with a color say gray and set the color of the last cell I was at back to what it currently was. The code below does not work. It sets the previous cell color to white and if the cell color was something other than white, say green, I lose the color green for the previous cell. Private Sub Worksheet_SelectionChange(ByVal Target As Range) On Error Resume Next Static OldRange As Range 'Set backcolor to whatever, change as needed Target.Interior.ColorIndex = 15 'light gray OldRange.Interior.ColorIndex = xlColorIndexNone Set OldRange = Target End Sub -- Dave B. |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
Row select mode to highlight active row of active cell | Excel Discussion (Misc queries) | |||
Active Cell Highlight | Excel Discussion (Misc queries) | |||
Active cell highlight | Excel Discussion (Misc queries) | |||
How do I highlight the active cell in a spreadsheet? | Excel Programming | |||
Highlight Active Cell | Excel Discussion (Misc queries) |