Buen día, colegas.
Tengo actualmente un problema con una casilla de verificación ubicada en la celda K8
necesito que al activarse el rango de (A8:K8) se colorée de un color que yo elegí, y que
cuando se destilde quede sin relleno ese mismo rango.
Pensé que el código podría ser así, pero no me compila;
¿Alguien puede ayudarme, por favor?
Muchas gracias, estaré atento a sus respuestas.
Jue, 09/01/2014 - 04:03
#1
Ayuda con una Macro.
Éste es el código que pensé podría servir:
Sub Uno()
Private Sub CheckBox1_Click()
If CheckBox1.Value = True Then Range("k8").Value = 1
Range("A8:K8").Interior.Color = RGB(200, 160, 35)
If CheckBox1.Value = True Then Range("k8").Value = 0
Range("A8:k8").Interior.ColorIndex = -4142
End Sub
Hola
lo primero es que tienes un Sub Uno() sin su End Sub
Cada procedimiento debe tener principio y final, y no puedes anidar un SUB dentro de otro.
Sub Uno()
...
End Sub
Private Sub CheckBox1_Click()
....
End Sub
Leyendo el códig, parece que estás realizando dos veces la misma comprobación
IF checkbox1.value=true then ...
la primera vez asignas valor 1 a la celda k8 y la segunda le asignas valor 0 a esa misma celda
Luego, las instrucciones para colorear las celdas se ejecutan siempre, no dependen de la condición IF
Supongo que lo que quieres es colorearlo si está seleccionado y quitar el color cuando no esté seleccionado
podría ser algo así:
Private Sub CheckBox1_Click()
If CheckBox1.Value = True Then
Range("k8").Value = 1
Range("A8:K8").Interior.Color = RGB(200, 160, 35)
Else
Range("k8").Value = 0
Range("A8:k8").Interior.ColorIndex = -4142
End If
End Sub
------
Ya sé Excel, pero necesito más.
Muchísimas gracias, muy útil su respuesta.