Hi Bob,
Yes, both buttonActiveColour and currentTable are global variables. I have debugged the code on startup and the currentTable is set to Bookings and the tableChange event is triggered from the Activate event, and then in turn the line of code that sets the button's backColour is triggered but it has no affect. However, if the tableChange procedure is triggered by a user actually clicking on a CommandButton the nthe back colour changes.

The use of another procedure is really a red herring as I have seen the same issue even if I code everything within the Activate event i.e. I originally coded the Activate event to set the back colour of the button directly to an RGB value (as opposed to a variable) again nothing; although in the same block of code I amended the caption property which did change. So, essentially I have proved that I can change the commandButton caption within the WorkSheet Activate event but NOT the backColour .. very ODD.

Thanks again, Craig