¿Cómo cambio el color de un label según el valor de una celda?

Tengo una hoja en la que se evalúa un nivel de riesgo en cuatro categorías, dependiendo del valor del patrimonio y otros parámetros que el usuario debe alimentar en un formulario.

El objetivo es que al ingresar los diferentes parámetros, al tiempo que cambia el contenido de un label me cambie también el color de ese label. He logrado que me cambie el contenido pero no el color. ¿Cómo lo puedo hacer? Tengo el siguiente código, ¿cuál es mi error? Mil gracias (nota: calrris dos es el label que muestra el resultado de la categoría así:muy alto, alto, medio y bajo)

Private Sub MultiPage1_Change()
cit.ControlSource = "campo_1"
faccambio.ControlSource = "campo_2"
vrenriesgo.ControlSource = "campo_3"
probabl.ControlSource = "campo_18"
impact12.ControlSource = "campo_4"
medniri.ControlSource = "campo_5"
callrisdos.ControlSource = "campo_6"
paybackl.ControlSource = "campo_9"

faccambio = Format(faccambio, "#,###,###,#0")
vrenriesgo = Format(vrenriesgo, "#,###,###,#0")
probabl = Format(probabl, "#,###,###,#0")
impact12 = Format(impact12, "#,###,###,#0")
medniri = Format(medniri, "#,###,###,#0")

If campo_5 >= muyltodos Then
callrisdos.BackColor = vbRed
ElseIf campo_5 >= altodos Then
callrisdos.BackColor = vbBlue
ElseIf campo_5 >= mediodos Then
callrisdos.BackColor = vbCyan
ElseIf campo_5 < mediodos Then
callrisdos.BackColor = vbYellow
End If

2 Respuestas

Respuesta

[Hola. Prueba así.

If campo_5 >= muyltodos Then
callrisdos.BackColor = &HFF&
ElseIf campo_5 >= altodos Then
callrisdos.BackColor = &HC0C000
ElseIf campo_5 >= mediodos Then
callrisdos.BackColor = &H8080FF
ElseIf campo_5 < mediodos Then
callrisdos.BackColor = &HFFFF&
End If

Salu2 Carlos Arrocha

Muchas gracias, como lo tengo me funciona pero me toca hacer click en la siguiente página del formulario multipagina para que actualize el color del label. Y ese es mi problema, que necesito que actualize el color del label simultáneamente con el valor sin necesidad de hacer click en botones extra.

[Hola. Si quieres que se marquen todos con un click entonces tiene que ser algo así.

If campo_5 >= muyltodos Then
callrisdos.BackColor = &HFF&
callrisdos.BackColor = &HC0C000
callrisdos.BackColor = &H8080FF
callrisdos.BackColor = &HFFFF&
'ElseIf campo_5 >= altodos Then
'callrisdos.BackColor = &HC0C000
'ElseIf campo_5 >= mediodos Then
'callrisdos.BackColor = &H8080FF
'ElseIf campo_5 < mediodos Then
'callrisdos.BackColor = &HFFFF&
End If
Respuesta

A modo de ejemplo te dejo lo siguiente:

Private Sub CommandButton1_Click()
Label1.BackColor = &HFF00&
End Sub

Yo solo se que se puede cambiar con los códigos de cada color

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas