julie_nickb
New Member
- Joined
- Sep 13, 2018
- Messages
- 46
- Office Version
- 365
In VBA, I would like to change the colour of the active cell, and reset it to its original colour when exited.
Can you help? Thanks!
Can you help? Thanks!
Dim LastCellColor As Long, LastCellAddress As String
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Len(LastCellAddress) Then Range(LastCellAddress).Interior.Color = LastCellColor
LastCellAddress = ActiveCell.Address
LastCellColor = ActiveCell.Interior.Color
ActiveCell.Interior.Color = vbRed
End Sub
I must be doing something wrong - the colours of the cells I click change to red, but don't go back to the original colour when I leave.This Worksheet_SelectionChange event procedure should do what you want (note that I guessed the color to change to is red)...
Note: That Dim statement at the top is not inside any procedures... I would suggest you place it at the top of the code window.VBA Code:Dim LastCellColor As Long, LastCellAddress As String Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Len(LastCellAddress) Then Range(LastCellAddress).Interior.Color = LastCellColor LastCellAddress = ActiveCell.Address LastCellColor = ActiveCell.Interior.Color ActiveCell.Interior.Color = vbRed End Sub
HOW TO INSTALL Event Code
------------------------------------
If you are new to event code procedures, they are easy to install. To install it, right-click the name tab at the bottom of the worksheet that is to have the functionality to be provided by the event code and select "View Code" from the popup menu that appears. This will open up the code window for that worksheet. Copy/Paste the event code into that code window. That's it... the code will now operate automatically when its particular event procedure is raised by an action you take on the worksheet itself. Note... if you are using XL2007 or above, make sure you save your file as an "Excel Macro-Enabled Workbook (*.xlsm) and answer the "do you want to enable macros" question as "yes" or "OK" (depending on the button label for your version of Excel) the next time you open your workbook.
I made a mistake and placed the "Dim LastCellColor As Long, LastCellAddress As String " inside the Sub.The code was tested before I posted it and it works correctly. Did you follow the directions I posted so that the code is located in the correct code module?
I made a mistake and placed the "Dim LastCellColor As Long, LastCellAddress As String " inside the Sub.
Now it almost works - only one problem: When I activate the sheet, I activate a cell as well. This first activated cell remains red.