Cambiar color fila dependiendo de valor de columna

A

angelajc

Hola, quiero cambiar el color de una fila entera dependiendo del valor
de una celda en una columna.
Las filas van de A-L y la columna E es el target. Si esta columna tiene
valores "0" quiero que toda la fila se ponga gris, y si es diferente de
cero que vuelva a blanco.
Lo que he hecho es lo siguiente:
- Formato condicional en la columna E:
valor de la celda - igual a - "0%" -- cambia fondo a
gris
valor de la celda - no igual a - "0%" -- cambia fondo a
blanco


- Luego en VB he hecho lo siguiente:
Private Sub Worksheet_Change(ByVal Target As Range)
If Range("E4") = 0 Then
Worksheets("Riesgos").Range("A4:L4").Interior.Color = RGB(192,
192, 192)
Else
Worksheets("Riesgos").Range("A4:L4").Interior.Color = RGB(255,
255, 255)
End If



[Seguramente el formato condicional sobre]. La cuestión es que esto
que funciona quiero aplicarlo a todas las filas de la hoja, y no se
como. He intentado hacer algún tipo de bucle del estilo:

'Dim n As Integer
'For n = 4 To 50
'If Range("E"$n) = 0 Then
'Worksheets("Riesgos").Range(A, L).Interior.Color = RGB(192, 192,
192)
'Else
'Worksheets("Riesgos").Range(A, L).Interior.Color = RGB(255, 255,
255)
'End If
'Next

Pero no funciona, intento averiguar una forma de poner variables en
Range pero no se como.
¿Me podríais ayudar??
Gracias
 
A

angelajc

Vale, ya lo tengo, por si a alguien le interesa:

Dim n As Integer
For n = 4 To 500
If Range("E" & n) = "0" Then
Worksheets("Riesgos").Range("A" & n, "L" & n).Interior.Color =
RGB(192, 192, 192)
Else
Worksheets("Riesgos").Range("A" & n, "L" & n).Interior.Color =
RGB(255, 255, 255)
End If
Next
 

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