Calculo de TextBox (vba)

Necesito de nuevo de su colaboración.

Tengo dos TextBox en los que quiero que al copiar valores, en otro TextBox me calcule automáticamente y me traiga si se cumplió o no con la cantidad requerida.

Ej.

TextBox1 (cantidad deseada)

TextBox2 (cantidad realizada)

TextBox3 (cumplido)

cantidad deseada= 1000

cantidad realizada= 900

cumplido= NO se cumplió con la producción deseada

cantidad deseada= 1000
cantidad realizada= 1500
cumplido= SI se cumplió con la producción deseada.

el código que tengo es el siguiente:

Private Sub Commandbutton1_Click()
Dim valor1 As Integer
Dim valor2 As Integer
valor1 = Val(TextBox1.Text)
valor2 = Val(TextBox2.Text)

If (valor2 >= valor1) Then
res = MsgBox("SI se cumplió con la producción deseada")
End If

If (valor2 < valor1) Then
res = MsgBox("No se cumplió con la producción deseada")
TextBox1.Text = ""
TextBox2.Text = ""
End If
End Sub

Este código me funciona correctamente, el problema es que debo darle clic en el Commandbutton1 para poder conocer el resultado, y este me aparece en un MsgBox, por que esto es lo que por medio del código estoy diciendo que me haga; pero no se como cambiarlo a que en el momento de darle valores al TextBox1 y al TextBox2, automáticamente me traiga el resultado en el TextBox3.

1 respuesta

Respuesta
1

Te mando mi solución con estas dos macros, una para cada textbox1 y 2

Con estas macros ya no es necesario pulsar ningún botón.

Private Sub TextBox1_AfterUpdate()
If TextBox1.Value <> "" And TextBox2.Value <> "" Then
If CDbl(TextBox1.Value) > CDbl(TextBox2.Value) Then
TextBox3.Value = "NO se cumplio"
Else
TextBox3.Value = "SI se cumplio"
End If
End If
End Sub
Private Sub TextBox2_AfterUpdate()
If TextBox1.Value <> "" And TextBox2.Value <> "" Then
If CDbl(TextBox1.Value) > CDbl(TextBox2.Value) Then
TextBox3.Value = "NO se cumplio"
Else
TextBox3.Value = "SI se cumplio"
End If
End If
End Sub

no olvides finalizar la consulta

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas