Change cell font color when cell is clicked

A

aileen

I'm trying to find code that will change the font color or interior color in
a cell when the cell is clicked once. Then when the color changes I need to
recalculate a formula from a different cell in the same row based on which
cell was chosen and had the color change.

I was trying the following code as a start but I am getting an "End If
without a Block If" error.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Range("L2:M500")) Is Nothing Then
Target.Interior.ColorIndex = 5
End If
End Sub

Any help is greatly appreciated.
 
D

Dave Peterson

My bet is that you had this:

If Not Intersect(...)) Is Nothing Then Target.Interior.ColorIndex = 5

All on one line in your code.

When you pasted it into the message, the line got wrapped nicely:

If Not Intersect(Target, Range("L2:M500")) Is Nothing Then
Target.Interior.ColorIndex = 5
End if

And fixed the problem!

So hit enter after that Then and you'll be fine.
 
A

aileen

Don,

I was able to get the cell color change to work, but I'm still working on
having a formula in another cell in the same row change based on the cell I
choose to color.

Any ideas?

Thanks,
Aileen
 
A

aileen

I should be more specific. The formula is simple it's the product of 3
cells, 2 of which are fixed and the last one should become whichever cell
I've clicked.

Cells(j, "J") = Cells(j, "E") * Cells(j, "I") * highlighted cell

Is this possible to do?
 
D

Don Guillett

Untested.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Not Intersect(Target, Range("L2:M500")) Is Nothing Then
tr = Target.Row
Target.Interior.ColorIndex = 5
Cells(tr, "J") = Cells(tr, "e") * Cells(tr, "i") * Target
End If
End Sub
 
A

aileen

Your code works great, but then my code to toggle colors in a clicked cell
stops allowing the cell to go back to white once I have clicked a cell after
it's already been clicked once and turned red. My code is below. Please let
me know what I am doing wrong.

If Target.Count > 1 Then Exit Sub
If Intersect(Target, Range("F:F,H:H,L:N")) Is Nothing Then Exit Sub
If Target.Interior.ColorIndex = xlNone Then
Target.Interior.ColorIndex = 3
Else
If Target.Interior.ColorIndex = 3 Then
Target.Interior.ColorIndex = xlNone
End If
End If

If Not Intersect(Target, Range("F:F,H:H,L:N")) Is Nothing Then
tr = Target.Row
Target.Interior.ColorIndex = 3
Cells(tr, "J") = Cells(tr, "O") * Cells(tr, "I") * Target
End If

Thanks so much for all your help.
 
A

aileen

Nevermind, I got your code to work by incorporating into the other code as
such:

If Target.Count > 1 Then Exit Sub
If Intersect(Target, Range("F:F,H:H,L:N")) Is Nothing Then Exit Sub
If Target.Interior.ColorIndex = xlNone Then
Target.Interior.ColorIndex = 3
tr = Target.Row
Cells(tr, "J") = Cells(tr, "O") * Cells(tr, "I") * Target
Else
If Target.Interior.ColorIndex = 3 Then
Target.Interior.ColorIndex = xlNone
End If
End If

Thanks again for all your help.
 

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