evaluar formato condicional en macro
Publicado por jorge (67 intervenciones) el 28/09/2009 18:01:50
Hola, implementando una macro me he encontrado con el problema de que no sé como evaluar si determinadas celdas muestran un color de fuente por haberse dado una condición de formato condicional. Me explico:
tengo una columna en la que todas las celdas tienen asignadas dos condiciones de formato, en estas condiciones a su vez hay fórmulas que hacen referencia a otras celdas. De forma que algunas de ellas tienen el texto de color negro y otras de color rojo y necesito saber cuántas de cada tipo hay corriendo una macro.
Aunque lo que escribo en el código no es realmente lo que quiero conseguir en mi macro, lo he simplificado al máximo para evitar complicar más el asunto, de forma que básicamente lo que me gustaría es iniciar dos contadores para que i cuente todas las celdas con texto en rojo desde una posición dada hasta la fila 1 y k cuente las celdas cuya fuente sea de cualquier otro color.
Sé que la condición no es correcta, pero no sé como solucionarlo.
While ActiveCell.Row > 1
If ActiveCell.Font.ColorIndex = 3 Then
i = i + 1
Else
k = k + 1
End If
Cells(ActiveCell.Row - 1, ActiveCell.Column).Select
Wend
El inconveniente es que la consulta no es capaz de diferenciar en función del color establecido por la condición, sino que en todos los casos el color por defecto es automático, por lo tanto no funciona. He leido en varios foros que es un tema algo complejo pero no he conseguido una solución.
tengo una columna en la que todas las celdas tienen asignadas dos condiciones de formato, en estas condiciones a su vez hay fórmulas que hacen referencia a otras celdas. De forma que algunas de ellas tienen el texto de color negro y otras de color rojo y necesito saber cuántas de cada tipo hay corriendo una macro.
Aunque lo que escribo en el código no es realmente lo que quiero conseguir en mi macro, lo he simplificado al máximo para evitar complicar más el asunto, de forma que básicamente lo que me gustaría es iniciar dos contadores para que i cuente todas las celdas con texto en rojo desde una posición dada hasta la fila 1 y k cuente las celdas cuya fuente sea de cualquier otro color.
Sé que la condición no es correcta, pero no sé como solucionarlo.
While ActiveCell.Row > 1
If ActiveCell.Font.ColorIndex = 3 Then
i = i + 1
Else
k = k + 1
End If
Cells(ActiveCell.Row - 1, ActiveCell.Column).Select
Wend
El inconveniente es que la consulta no es capaz de diferenciar en función del color establecido por la condición, sino que en todos los casos el color por defecto es automático, por lo tanto no funciona. He leido en varios foros que es un tema algo complejo pero no he conseguido una solución.
Valora esta pregunta


0