Checkbox Background Color

A

AJ Master

I have placed several checkboxes on my spreadsheet and under
properties for the checkbox I have selected the backstyle =
fmBackStyleTransparent. My problem seems to be that whenever I click
on the checkbox the background color changes from the color of the
cell to white. On the properties window the BackColor is set to white
so I'm guessing this is the problem. Does anyone know how to change
the back color to transparent as well? I cannot select the cell color
because it does not appear as a choice on the palette when I try to
change it to that?

Any help would be appreciated.

AJ
 
P

Peter T

Unfortunately, although you can apply Transparent it does not persit when
the control is clicked, it will then show whatever colour is set for its
backcolor property. I don't know if this has been fixed in XL2007

Regards,
Peter T
 
A

AJ Master

Unfortunately, although you can apply Transparent it does not persit when
the control is clicked, it will then show whatever colour is set for its
backcolor property. I don't know if this has been fixed in XL2007

Regards,
Peter T

Peter,

Is there anyone to code an event change that would update the
backcolor? Is there a way to add the custom color I'm using to the
color palette excel shows me?

Thanks again...AJ
 
P

Peter T

AJ Master said:
<snip

Peter,

Is there anyone to code an event change that would update the
backcolor? Is there a way to add the custom color I'm using to the
color palette excel shows me?

Thanks again...AJ

Dim ole As OLEObject

Set ole = ActiveSheet.OLEObjects("Checkbox1")
ole.Object.BackColor = RGB(150, 200, 250)

' customize a palette color
ActiveWorkbook.Colors(7) = RGB(250, 200, 150)
' 7 is under red in a default palette
' apply a palette colour
ole.Object.BackColor = ActiveWorkbook.Colors(7)

You mention 'event' so maybe something like this (code in the sheet module
containng the checkbox)

Private Sub CheckBox1_Click()
With CheckBox1
If .Value Then
..BackColor = RGB(255, 255, 255)
Else
..BackColor = RGB(150, 230, 150)
End If
End With
End Sub

Regards,
Peter T
 
A

AJ Master

Dim ole As OLEObject

Set ole = ActiveSheet.OLEObjects("Checkbox1")
ole.Object.BackColor = RGB(150, 200, 250)

' customize a palette color
ActiveWorkbook.Colors(7) = RGB(250, 200, 150)
' 7 is under red in a default palette
' apply a palette colour
ole.Object.BackColor = ActiveWorkbook.Colors(7)

You mention 'event' so maybe something like this (code in the sheet module
containng the checkbox)

Private Sub CheckBox1_Click()
With CheckBox1
If .Value Then
.BackColor = RGB(255, 255, 255)
Else
.BackColor = RGB(150, 230, 150)
End If
End With
End Sub

Regards,
Peter T

Peter,

Thanks again. I set the property on all checkboxes when the workbook
opens.

AJ
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top