The event does not fire when the format is changed.
The best workaround is to monitor the Worksheet_SelectionChange event. When a user clicks on a cell, you need to save the link to the cell and all the format information that you want to track. The next time the event fires, you should look back at the last cell they clicked on, compare the current format with the saved format information, and this will allow you to detect the changes.
The downside is that you can only detect changes after they click the button from the cell they formatted.
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Static LastRange As Range 'The last range selected' 'For example, monitor the background color or the cell' Static LastColorIndex As Integer If LastRange.Cells(1).Interior.ColorIndex <> LastColorIndex Then 'Do what you do' End If Set LastRange = Target LastColorIndex = Target.Interior.ColorIndex End Sub
This is the simplest possible case. Everything becomes more complicated if they change the entire range of cells at once.
Alain
source share