VBA excel: macro valor de textbox condicionado por el valor de otros 2 textbox

Tengo un UF donde tengo un textbox1 variable que es un valor numérico (volumen). Y tengo otros dos textbox (2 y 3) que son los valores de referencia (mínimo y máximo) para el valor del textbox 1. Necesito un textbox (4) que tenga una macro para que automáticamente cambie de color y texto: si el valor del textbox1 es mayor que el valor del textbox con el valor máximo (4) me ponga en rojo o con fondo rojo "volumen aumentado" y si está por debajo del valor mínimo(3), con letra azul o fondo azul: "volumen reducido". Y si el valor está entre los valores maximo y mínimo diga "normal".

1 Respuesta

Respuesta
1

Si un control solo presentará un mensaje (es decir que no será modificado por el usuario) es mejor utilizar un Label.

En el siguiente ejemplo dejé un label en lugar del Textbox4. Si el contenido de los TextBox 2 y 3 también solo será información podrías utilizar Labels también.

Private Sub TextBox1_Change()
'x Elsamatilde
'si se limpia el control se quital el color y texto al label
If TextBox1 = "" Then Label1.BackColor = &HFFFFFF: Exit Sub
If TextBox1.Value > TextBox3.Value Then
    Label1.Caption = "Volumen aumentado"
    Label1.BackColor = &HFF&      'color rojo
ElseIf TextBox1.Value < TextBox2.Value Then
    Label1.Caption = "Volumen reducido"
    Label1.BackColor = &HFF00&      'color verde
Else
    Label1.Caption = "normal"
    Label1.BackColor = &HFFFFFF      'sin color o blanco
End If
End Sub

Ajustá el nro de color a tu gusto.

¡Gracias Elsa! 

Lo probé y anduvo PERFECTO! igualmente lo probé durante la programación... pero cada vez que salia y entraba al UF cambiando los valores por encima y por debajo de los valores límites, no me actualizaba el mensaje ni el color del textbox. Lo tengo que probar con casos en el uso. Igualmente esos valores no van a cambiar. Es un valor por registro. Te agradezco nuevamente! 

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas