Excel - Macro contar colores no me funciona??

 
Vista:
sin imagen de perfil
Val: 158
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Macro contar colores no me funciona??

Publicado por Eugenio (105 intervenciones) el 20/12/2021 21:50:07
Hola buenas.

En columnas tengo formato condicional rellenado celdas en un color, ahora no me funciona la macro para contar colores en celdas ?????

Function CountCcolor(range_data As Range, criteria As Range) As Long
Dim datax As Range
Dim xcolor As Long
xcolor = criteria.Interior.ColorIndex
For Each datax In range_data
If datax.Interior.ColorIndex = xcolor Then
CountCcolor = CountCcolor + 1
End If
Next datax
End Function

Con formula en celda X
=CountCcolor($A$3:$A$33;$D$38)

Un Saludo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Antoni Masana
Val: 4.908
Oro
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Macro contar colores no me funciona??

Publicado por Antoni Masana (2480 intervenciones) el 21/12/2021 16:14:14
El color de una celda que se aplica a través del Formato Condicional no se puede buscar mirando el color de la Celda porque esta característica no cambia, aunque visualmente de la sensación de que si cambia, internamente se tratan de forma diferente.

Si la condición es que las celdas cuyo valor es menor de 25 se pongan rojas, NO tienes que contar las celdas en color rojo, tienes que contar las celdas cuyo valor es menor a 25.

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 158
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Macro contar colores no me funciona??

Publicado por Eugenio (105 intervenciones) el 22/12/2021 21:26:03
Hola .

encontre esto y me funciona.
Sub No_Colores_en_Celdas()

Celda_con_el_Color = ActiveCell.DisplayFormat.Interior.Color
For columna = 1 To 1
For Renglon = 3 To 33

If Cells(Renglon, columna).DisplayFormat.Interior.Color = Celda_con_el_Color Then

Contador = Contador + 1

End If
Next Renglon
Next columna

Range("D38") = Contador

End Sub

Un Saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar