Cambiar el color en un label (semaforo). Excel VBA
Chicos me gustaria hacer una señal visual para indentificar a primera vista el estado (en este caso el tiempo transcurrido)
He intentado realiazar varias pruebas pero no logro realizar lo que me pronpongo.
Este es una parte del codigo (esta situado en el evento de un listbox al hacer click)
Dim dif As Variant dif = DateDiff("d", list_historial, data) diferencia_dies.Caption = DateDiff("d", list_historial, data) If tipologia_final.Caption = "OASF" Then If diferencia_dies.Caption <= "30" Then diferencia_dies.ForeColor = RGB(255, 0, 0) ElseIf diferencia_dies.Caption >= "31" Then diferencia_dies.ForeColor = RGB(255, 128, 0) ElseIf diferencia_dies.Caption >= "61" Then diferencia_dies.ForeColor = RGB(0, 0, 0) End If End If Exit Sub End If
Lo que pretende este codigo es que dependiendo de la TIPOLOGIA de la empresa (en este caso OASF). Quiero estimar si hace mucho o poco que se le realizo un envio. Este calculo se realiza con la funcion DATEDIFF (diferencia de dias entre la fecha de envio y el dia de hoy).
Una vez tengo la diferencia de dias en el caption DIFERENCIA_DIES es donde entraria el condicional para establecer los colores según su diferencia
Me gustaria que todas las empresas que fuera OASF mostraran estos 3 colores en estas situaciones
Rojo: la diferencia de dias es inferior a 31 dias
Naranja: la diferencia es mayor de 31 dias pero menor de 60
Negro: superior a 60 dias
Como ya he dicho hay varios tipologias de empresas mas y dependiendo del valor de TIPOLOGIA_FINAL. CAPTION debera aplicar esta regla u otras
Actualmente el codigo solo me marca los dias en rojo indiferentemente de los dias que hayan transcurrido hasta la fecha de hoy.
¿Qué hago mal? ¿En qué falla mi codigo?