I couldn't get the snippets of code to work so I changed stuff for testing
I think that this layout is a little more reliable, and has the advantage that it seems to work
In ThisWortkbook
Option Explicit Private Sub Workbook_Open() buttonActiveColour = vbGreen ' RGB(115, 135, 156) buttonInactiveColour = vbRed ' RGB(225, 225, 225) tableChange End Sub
In a Standard Module
Option Explicit Public buttonActiveColour As Long Public buttonInactiveColour As Long Public currentTable As String Sub tableChange() ' not Private With Worksheets("Sheet1") 'for testing currentTable = .Range("K3").Value Select Case currentTable Case Is = "Bookings" .cmdBooking.BackColor = buttonActiveColour Case Else .cmdBooking.BackColor = buttonInactiveColour End Select End With End Sub
In the Worksheet Module
Option Explicit Private Sub cmdBooking_Click() tableChange End Sub Private Sub Worksheet_Activate() tableChange End Sub




Reply With Quote
