Doesn't clear up too much for me. Unless buttonActiveColour is defines as a global variable, the variable in the Activate event and in the tableChange are different variables, each local to that procedure.

The same applies to currentTable as to buttonActiveColour.

Are you sure that currentTable is Bookings in that Activate event?