Ayuda con una Macro.

4 envíos / 0 nuevos
Último envío
Mancha Azul
Imagen de Mancha Azul
Offline
última acción: Hace 9 años 6 meses
alta: 09/01/2014 - 03:03
Puntos: 135
Ayuda con una Macro.

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. 

Mancha Azul
Imagen de Mancha Azul
Offline
última acción: Hace 9 años 6 meses
alta: 09/01/2014 - 03:03
Puntos: 135
P.S:

É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

pacomegia
Imagen de pacomegia
Offline
última acción: Hace 12 horas 42 mins
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntosadministrador
alta: 27/12/2006 - 23:26
Puntos: 11175
Re: P.S:

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.

Mancha Azul
Imagen de Mancha Azul
Offline
última acción: Hace 9 años 6 meses
alta: 09/01/2014 - 03:03
Puntos: 135
Gracias

Muchísimas gracias, muy útil su respuesta.