¿Cómo puedo hacer un bucle de CheckBox en Excel?

Me explico mejor. Quiero cambiar el color de de una celda en excel, mediante una casilla de verificación o checkbox. Lo que hago, es con el botón derecho, pulsar sobre la casilla y asignarle una macro.
Sub Casilladeverificación1_AlHacerClic()
Range("A1").Interior.Color = RGB(20, 200, 30)
End Sub
Con ello, cuando la casilla está activada, cambia el color de la celda a verde, por aquí todo bien.
Ahora quiero, que al no estar pulsada la casilla, ponga otro color, para lo que asigno otra macro, que es la siguiente:
Sub Casilladeverificación1_onchange()
Range("A1").Interior.Color = RGB(50, 50, 50)
End Sub
Con esto consigo que al no estar pulsada la casilla, cambie a color gris la celda, perfecto, pero el problema viene ahora. Esto funciona la primera vez, pero ya no funciona más, es decir, pulso la casilla, y el color cambia a verde; quito la marca del checkbox, y cambia a gris, pero si vuelvo a marcarla, ya se queda de color gris, haga lo que haga, marcar o desmarcar, la celda se queda de color gris.
Por eso pregunto, si hay alguna forma de bucle o algo, para que funcione de continuo, al marcar u desmarcar la casilla.

1 Respuesta

Respuesta
1
Asigna una sola macro al botón, solo debes validar el estado del checkbox.
Sub Macro_Checbox1()
ActiveSheet.Shapes("Check Box 1").Select
Select Case Selection.Value
Case xlOn
Range("A1").Interior.Color = RGB(50, 50, 50)
Case xlOff
Range("A1").Interior.Color = RGB(20, 200, 30)
End Select
Range("A1").Select
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas