Rellenar celda con color según condicion

Quiero rellenar celda según condicion, si en el valor de la celda es :

"A" "a" Esta entre mayor al 5% y igual o menor al 9 %

Que la celda se rellene con color amarillo

Si el valor es "R", "r" o el valor de la celda es mayor o igual al 10% me rellene con rojo

Si el valor de la "P" se rellene con negro.

Si el valor de la celda es "B" "b" "H" se rellene con blanco

Si el valor de la ceda es "V" "v" o es menor o igual al 5% se rellene con verde.

1 respuesta

Respuesta
1

1. En tu hoja no se ven las columnas ni las filas de excel, ¿puedes poner otra imagen?

2. Dices: "si en el valor de la celda es " "A" "a" "

Cuando pones "A" "a", ¿te refieres a que puede ser "A" mayúscula o "a" minúscula?

3. ¿En cuál columna está esa letra?

4. ¿Dices "Esta entre mayor al 5% y igual o menor al 9 %" este valor en cuál columna se verifica?

5. ¿Quieres presentar el color con formato condicional? ¿O rellenar con una macro el color?

6. ¿Cuál de todas las celdas es la que se tiene que rellenar?

1. Las columnas son desde Q2 hasta S120.

2 me refiero si es "A " mayúscula y minúscula.

3. las letras están en las columnas Q, R, S.

4. esos valores están definidos por una formula y que da como resultado por ejemplo 6% .

5 rellenar con una macro el color si cumple condición.

6. estan en hoja que se llama tabla proyectos

No me queda claro el punto 3, 4 y 6

3. Hay que verificar en la columna Q si hay una "A" o "a", también hay que verificar en la "R" si hay una "A" o "a" y también hay que verificar en la columna "S" si hay una "A" o "a", si en alguna de esas 3 columnas hay una "A" o "a", entonces que pinte la celda, ¿pero no me has dicho cuál celda?

4. En cuál columna están los valores, ¿por ejemplo 6%?

6. ¿Cuál columna es la que hay que pintar de color?

Además de responder en ese orden, ayudaría si pones otra imagen donde se vean las columnas y las filas de excel.

3. hay que verificar en todos las columnas .  si hay A o a. y tambien verificar si en las columnas hay el ejemplo del 6%. y si en la celda que pertenece a la columna Q,R,S (sea cualquiera de estas) pinte la celda del color correspondientes. 

Te anexo la macro

Sub PonerColor()
'Por.Dante Amor
    For i = 2 To Range("P" & Rows.Count).End(xlUp).Row
        For j = 16 To 18
            If UCase(Cells(i, j)) = "A" Or _
                (IsNumeric(Cells(i, j)) And _
                Cells(i, j) > 0.05 And Cells(i, j) <= 0.09) Then
                Cells(i, j).Interior.ColorIndex = 6
            '
            ElseIf UCase(Cells(i, j)) = "R" Or _
                (IsNumeric(Cells(i, j)) And _
                Cells(i, j) >= 0.1) Then
                Cells(i, j).Interior.ColorIndex = 3
            '
            ElseIf UCase(Cells(i, j)) = "P" Then
                Cells(i, j).Interior.ColorIndex = 1
            '
            ElseIf UCase(Cells(i, j)) = "B" Or _
                UCase(Cells(i, j)) = "H" Then
                Cells(i, j).Interior.ColorIndex = xlNone
            '
            ElseIf UCase(Cells(i, j)) = "V" Or _
                (IsNumeric(Cells(i, j)) And _
                Cells(i, j) <= 0.05) Then
                Cells(i, j).Interior.ColorIndex = 4
            End If
        Next
    Next
End Sub

Saludos.Dante Amor

Me cambia desde la columna "P" hasta la columna "R" .

Yo quiero que me cambie desde la columna Q a la S.

Me rellena las celdas que están vacías con verde. Y las que dice "B" no las rellena con color blanco.

Te anexo la macro actualizada

Sub PonerColor()
'Por.Dante Amor
    For i = 2 To ActiveSheet.UsedRange.Rows(ActiveSheet.UsedRange.Rows.Count).Row
        For j = 17 To 19
            If UCase(Cells(i, j)) = "A" Or _
                (IsNumeric(Cells(i, j)) And _
                Cells(i, j) > 0.05 And Cells(i, j) <= 0.09) Then
                Cells(i, j).Interior.ColorIndex = 6
            '
            ElseIf UCase(Cells(i, j)) = "R" Or _
                (IsNumeric(Cells(i, j)) And _
                Cells(i, j) >= 0.1) Then
                Cells(i, j).Interior.ColorIndex = 3
            '
            ElseIf UCase(Cells(i, j)) = "P" Then
                Cells(i, j).Interior.ColorIndex = 1
            '
            ElseIf UCase(Cells(i, j)) = "B" Or _
                UCase(Cells(i, j)) = "H" Then
                Cells(i, j).Interior.ColorIndex = xlNone
            '
            ElseIf UCase(Cells(i, j)) = "V" Or _
                (IsNumeric(Cells(i, j)) And _
                Cells(i, j) <= 0.05) And _
                Cells(i, j) <> "" Then
                Cells(i, j).Interior.ColorIndex = 4
            End If
        Next
    Next
End Sub

sale error 

Te faltó copiar toda la macro.

Te faltó copiar la primera línea

Sub PonerColor()

Revisando la imagen, esa es otra macro, puedes revisar que también tenga su primera línea.

A esa macro le falta esta línea

Sub CopiarStatus()

Pon la línea en esa macro y regresa a la macro de poner color.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas